Svelte 允许无效的打字稿

时间:2021-02-05 11:41:03

标签: typescript svelte

我一直在使用此 template 中引用的 Svelte blog article 来开始学习 Typescript。

该应用正在构建和运行良好。但我有一些这样的代码:

<script lang="ts">
    let isDone: boolean = false;
    isDone = 'somestring'
    console.log(isDone)
</script>

我刚刚开始使用 Typescript,但这不应该是无效的吗?我在 npm run buildnpm run serve 期间没有看到任何错误。我不使用 VS - 是您希望它被选择的地方吗?

1 个答案:

答案 0 :(得分:2)

npm run build 执行构建管道,其中包括将 Svelte 文件中的 TypeScript 内容预处理为 JavaScript。这是一个仅限转译的过程,因为它发生在每个文件的基础上。这意味着构建期间的类型检查将不完整/错误。这就是为什么有一个名为 svelte-check 的专用包来进行类型检查。它包含在模板的 setupTypeScript.js 脚本中,可以使用 npm run validate 调用。如果您想与 svelte-check 一起运行,还有 npm run dev 的监视模式。带有所有选项的自述文件的 npm 链接:https://www.npmjs.com/package/svelte-check