【发布时间】:2022-02-25 05:54:41
【问题描述】:
我正在尝试在 Web Worker 中解析纤细的组件源代码。 完整源码here
import { parse , preprocess } from 'svelte/compiler';
import sveltePreprocess from 'svelte-preprocess';
import {
typescript,
scss,
globalStyle,
} from 'svelte-preprocess';
async function parseSvelte(source : string) {
const preprocessedResult = await preprocess( source, [
typescript({}),
scss(),
globalStyle(),
]);
console.log(preprocessedResult);
try {
const ast = parse(preprocessedResult.code);
console.log(ast);
}
catch(e) { console.log(e.toString() )}
}
我正在使用上面的代码来解析以下 svelte 组件
<script lang="ts">
const x = (y : string) => {};
</script>
preprocess 应该将 typescript 转换为 javascript,对吧?
但是preprocessedResult.code仍然包含typescript,后面的parse失败了。
Unexpected token (3:25)
1:
2: <script lang="ts">
3: const x = (y : string) => {};
^
4: </script>
调用preprocess方法没有报错,请问这是什么问题?
【问题讨论】:
标签: svelte svelte-3 svelte-preprocess