From 3144a63d2bb7393d43fe483dae814096610808b2 Mon Sep 17 00:00:00 2001 From: neverland Date: Mon, 8 Mar 2021 09:36:49 +0800 Subject: [PATCH] fix(cli): should not replace style entry import ext (#8301) --- packages/vant-cli/src/common/css.ts | 2 +- packages/vant-cli/src/compiler/compile-js.ts | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/vant-cli/src/common/css.ts b/packages/vant-cli/src/common/css.ts index 6c516bcc4..55378c715 100644 --- a/packages/vant-cli/src/common/css.ts +++ b/packages/vant-cli/src/common/css.ts @@ -38,7 +38,7 @@ export function getCssBaseFile() { const IMPORT_STYLE_RE = /import\s+?(?:(?:".*?")|(?:'.*?'))[\s]*?(?:;|$|)/g; // "import 'a.less';" => "import 'a.css';" -export function replaceCssImportExt(code: string) { +export function replaceCSSImportExt(code: string) { return code.replace(IMPORT_STYLE_RE, (str) => str.replace(`.${CSS_LANG}`, '.css') ); diff --git a/packages/vant-cli/src/compiler/compile-js.ts b/packages/vant-cli/src/compiler/compile-js.ts index b0c30915a..11e349dad 100644 --- a/packages/vant-cli/src/compiler/compile-js.ts +++ b/packages/vant-cli/src/compiler/compile-js.ts @@ -1,7 +1,8 @@ +import { sep } from 'path'; import { transformAsync } from '@babel/core'; import { readFileSync, removeSync, outputFileSync } from 'fs-extra'; import { replaceExt } from '../common'; -import { replaceCssImportExt } from '../common/css'; +import { replaceCSSImportExt } from '../common/css'; import { replaceScriptImportExt } from './get-deps'; export async function compileJs(filePath: string): Promise { @@ -13,7 +14,9 @@ export async function compileJs(filePath: string): Promise { let code = readFileSync(filePath, 'utf-8'); - code = replaceCssImportExt(code); + if (!filePath.includes(`${sep}style${sep}`)) { + code = replaceCSSImportExt(code); + } code = replaceScriptImportExt(code, '.vue', ''); transformAsync(code, { filename: filePath })