如您所知,@
是 /src
的占位符,如果我使用它,应用程序将编译并正常运行。但是我的 VSCode 认为该模块不存在并向我显示一条错误消息:
问题 1:如何教 VSCode 查找模块?
类似的情况如下:
export default class HelloWorld extends Vue {
@Prop() private msg!: string;
}
IDE 中有两个错误(当应用程序编译并正常运行时):
1)
!:
是红色下划线 -> 预期表达2)
string
带有红色下划线 -> 成员 'string' 隐式具有 'any' 类型。但这些并不是真正的错误,这是正常的语法,VSCode 无法处理。 Vetur 扩展(VSCode 的 Vue 工具)已经安装。
问题 2:VSCode 中的 Vue + TypeScript 如何处理?我必须考虑什么(全部)?
最佳答案
导入 *.svg
VS Code 不知道如何自己导入 svg
文件。要解决此问题,请将 .d.ts
文件添加到项目的根目录,其中包含:
declare module '*.svg' {
const content: any;
export default content;
}
我发现将此声明添加到
src/shims.d.ts
不起作用。它仅在项目根目录下创建 .d.ts
文件时有效(例如 <root>/index.d.ts
)。Expression expected
错误这是来自 Vetur 0.11.7,它使用不支持 definite assignment assertions 的旧 TypeScript 版本,在 TypeScript 2.7 中引入。 (
vuejs/vetur
Issue #723 )Vetur
0.11.8 Preview
通过更新到较新版本的 TypeScript 来修复该问题,但尚未发布,因此您必须 install the VSIX manually 。 IMO 最简单的方法是使用 VS Code 的扩展 View 中的命令下拉菜单来安装下载的 vetur-0.11.8.vsix
。 该修复程序在 Vetur 0.12.1
中可用,可从 VS Code 的扩展 View 安装。 关于vue.js - Visual Studio 代码 : Initial VueJS setup cannot find module "@/..",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50142430/