我一直在使用此 template 中引用的 Svelte blog article 来开始学习 Typescript。
该应用正在构建和运行良好。但我有一些这样的代码:
<script lang="ts">
let isDone: boolean = false;
isDone = 'somestring'
console.log(isDone)
</script>
我刚刚开始使用 Typescript,但这不应该是无效的吗?我在 npm run build
或 npm run serve
期间没有看到任何错误。我不使用 VS - 是您希望它被选择的地方吗?
答案 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