Visual Studio Code:初始 VueJS 设置找不到模块“@/..”

Lon*_*ely 3 error-handling vue.js visual-studio-code vuejs2 vetur

如您所知,这@是一个占位符,/src如果我使用它,应用程序将编译并正常运行。但是我的 VSCode 认为该模块不存在并向我显示一条错误消息:

Visual Studio Code:找不到模块

问题 1:如何教 VSCode 如何查找模块?

类似的情况如下:

export default class HelloWorld extends Vue {
  @Prop() private msg!: string;
}
Run Code Online (Sandbox Code Playgroud)

IDE 中有两个错误(当应用程序编译并正常运行时):

1)!:红色下划线 ->预期表达

在此处输入图片说明

2)带有string红色下划线 ->成员 'string' 隐式具有 'any' 类型。

在此处输入图片说明

但这些并不是真正的错误,这是正常的语法,VSCode 无法处理。Vetur 扩展(VSCode 的 Vue 工具)已经安装。

问题二:VSCode 中的 Vue + TypeScript 如何处理?我必须考虑什么(全部)?

ton*_*y19 6

输入 *.svg

VS Code 不知道如何自己导入svg文件。要解决此问题,请.d.ts向项目的根目录添加一个文件,其中包含:

declare module '*.svg' {
  const content: any;
  export default content;
}
Run Code Online (Sandbox Code Playgroud)

我发现将此声明添加到src/shims.d.ts不起作用。它仅.d.ts在在项目根目录(例如<root>/index.d.ts)中创建文件时有效。

Expression expected 错误

这是来自 Vetur 0.11.7,它使用较旧的 TypeScript 版本,该版本不支持在 TypeScript 2.7 中引入的明确赋值断言。(vuejs/vetur第 723 期

Vetur0.11.8 Preview通过更新到较新版本的 TypeScript 来修复该问题,但尚未发布,因此您必须手动安装 VSIX。IMO 最简单的方法是使用 VS Code 的扩展视图中的命令下拉菜单来安装下载的vetur-0.11.8.vsix. 该修复程序在 Vetur 中可用0.12.1,可从 VS Code 的扩展视图安装。