From 4433779c2ef7712f524acd56da83a68e0541ba11 Mon Sep 17 00:00:00 2001 From: chenjiahan Date: Wed, 2 Dec 2020 16:50:43 +0800 Subject: [PATCH] fix(cli): failed to compile ts in sfc --- packages/vant-cli/src/compiler/compile-sfc.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/vant-cli/src/compiler/compile-sfc.ts b/packages/vant-cli/src/compiler/compile-sfc.ts index dc2eb58b3..c8c44600d 100644 --- a/packages/vant-cli/src/compiler/compile-sfc.ts +++ b/packages/vant-cli/src/compiler/compile-sfc.ts @@ -62,7 +62,6 @@ export function parseSfc(filename: string) { export async function compileSfc(filePath: string): Promise { const tasks = [remove(filePath)]; const source = readFileSync(filePath, 'utf-8'); - const jsFilePath = replaceExt(filePath, '.js'); const descriptor = parseSfc(filePath); const { template, styles } = descriptor; @@ -71,6 +70,9 @@ export async function compileSfc(filePath: string): Promise { // compile js part if (descriptor.script) { + const lang = descriptor.script.lang || 'js'; + const scriptFilePath = replaceExt(filePath, `.${lang}`); + tasks.push( new Promise((resolve, reject) => { let script = descriptor.script!.content; @@ -89,8 +91,8 @@ export async function compileSfc(filePath: string): Promise { script = injectScopeId(script, scopeId); } - writeFileSync(jsFilePath, script); - compileJs(jsFilePath).then(resolve).catch(reject); + writeFileSync(scriptFilePath, script); + compileJs(scriptFilePath).then(resolve).catch(reject); }) ); }