Svelte 允许无效的打字稿

Svelte allowing invalid typescript

我一直在使用 template referenced in this Svelte blog article 开始学习 Typescript。

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

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

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

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