gpt4 book ai didi

javascript - Svelte 仅支持 es6+ 语法。将您的 'compilerOptions.target' 设置为 'es6' 或更高

转载 作者:行者123 更新时间:2023-12-05 00:38:45 24 4
gpt4 key购买 nike

我一直在使用 Svelte、TypeScript 和 Rollup(让 TypeScript 处理转译)来定位 ES7。现在我正在开始一个新项目,需要以 ES5 为目标。
我注意到的第一件事是一切都被转译了,但组件仍然是类。那时我的组件中没有任何脚本。将脚本标签添加到 .svelte 文件后,我立即收到错误消息:

Svelte only supports es6+ syntax. Set your 'compilerOptions.target' to 'es6' or higher


我知道我需要将 TS 目标设置为 ES6/ES7 并安装 Rollup Babel 插件来处理转译为 ES5。但是为什么普通的 TypeScript 转换不起作用呢?为什么 Svelte 关心 TypeScript 目标?您会认为 Svelte 文件在转译为 ES5 之前会先转换为 TS,但似乎反过来呢?

最佳答案

Svelte 编译器在 JS 上运行,任何其他语言都是 pre-processed转换成 JS,否则 Svelte 编译器将不得不处理许多不同的语言。另外,你不能把 JS 变成 TS,TS 比 JS 有更多的信息,没有办法取回这些信息。
如果你的最终结果应该是 ES5,你可能需要一个多步骤的 pileline:

TS => JS 6+ =Svelte=> JS 6+ => JS 5

关于javascript - Svelte 仅支持 es6+ 语法。将您的 'compilerOptions.target' 设置为 'es6' 或更高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72168054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com