我正在使用 Visual Studio Code、Vue 2(webpack 模板)和 Typescript。
这是我的 App.vue 组件:
<template>
<div id="app">
<navbar></navbar>
[content here]
</div>
</template>
<script lang="ts">
import Navbar from './components/Navbar'
export default {
components: {
Navbar
}
}
</script>
问题 1:一切正常,但我想在 <script lang="ts">
标签中加入 intellisense,因为它发生在 .ts 文件中,那么我该如何实现呢?
问题 2:在我的 main.ts 中,我有 import App from './App'
,但是“./App”带有红色下划线,因为 VS Code 找不到 .ts 文件。有没有办法让编辑器在编译时(编辑时)识别 .vue?
更新(2018-03-25):我强烈推荐所有想要设置打字稿的人阅读 这篇 文章
原文由 Oswaldo 发布,翻译遵循 CC BY-SA 4.0 许可协议
对于 Q1,将 Typescript 代码放入单独的
script.ts
文件中,并将其包含在App.vue
中,例如:对于 Q2,正如@Oswaldo 所建议的,您可以定义一个
vue.d.ts
具有以下内容的文件:如果你把这个文件放在
${Project_ROOT}/typings
文件夹中,你需要在你的tsconfig.json
就像然后你可以导入
*.vue
.vue
后缀为 --- 的文件:如果你不想包含
.vue
后缀,你可以将所有 Vue 组件放在一个文件夹中,例如src/components
并将vue.d.ts
更改为以下内容:src
被定义为webpack.base.conf.js
作为绝对路径的别名。然后你需要使用完整路径导入一个没有
.vue
后缀的组件:两者都不是优雅的解决方案,但红色下划线消失了。