【发布时间】:2018-08-17 00:29:16
【问题描述】:
根据documentation我应该在.vue文件中写vue组件。我喜欢在 vscode 中使用 TypeScript,因为它具有很棒的导航、自动完成、自动导入和智能感知功能。类型安全也是一个优点。
当我使用.vue 文件时,我在外部导出中失去了智能感知和tyoe 安全。
使用 katashins vue-template-loader 我可以找回所有这些。
为什么我应该在 TypeScript 中使用 .vue 文件?
Here 是我使用 katashin 的精彩加载器的仓库。
[编辑] 下面是使用 vetur 0.11.0、vscode 1.21.0 和 vue cli 的 HelloWorld.spec.ts 文件的快速显示。
可以看到问题第 11 行。
可以使用any 关键字解决,但会失去类型安全性。
【问题讨论】:
-
只是为了确认一下:您是否在 TypeScript 中使用了
<script>标签?您是说在这种情况下丢失了自动完成功能,还是将其与纯 JavaScript 进行比较? -
我将 HelloWorld.vue 替换为 HelloWorld > index.ts, HelloWorld > style.scss, HelloWorld > template.html
-
我是说当我在另一个文件中导入一个文件时,我失去了自动完成功能。例如,如果我想测试 HelloWorld.vue,我不会在测试文件中使用 typescript 自动完成功能。
-
你用的是什么IDE?
-
我正在使用 vscode!!
标签: typescript vue.js vuejs2 scaffolding separation-of-concerns