fix(cli): should not replace style entry import ext (#8301)

This commit is contained in:
neverland 2021-03-08 09:36:49 +08:00 committed by GitHub
parent 1af04d43d9
commit 3144a63d2b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 3 deletions

View File

@ -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')
);

View File

@ -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<void> {
@ -13,7 +14,9 @@ export async function compileJs(filePath: string): Promise<void> {
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 })