Svelte允许无效的typescript



我一直在使用这篇Svelte博客文章中引用的模板来开始学习Typescript。

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

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

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

npm run build执行构建管道,其中包括将Svelte文件中的TypeScript内容预处理为JavaScript。这是一个只针对编译的过程,因为它以每个文件为基础。这意味着构建期间的类型检查将是不完整的/错误的。这就是为什么有一个叫做svelte-check的专用包,它做类型检查。它包含在模板的setupTypeScript.js-脚本中,可以用npm run validate调用。如果你想和npm run dev一起运行,svelte-check也有一个观察模式。npm链接,所有选项都有一个README: https://www.npmjs.com/package/svelte-check