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

时间:2018-05-02 19:46:46

标签: vue.js error-handling visual-studio-code vuejs2 vetur

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

Visual Studio Code: cannot find module

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

类似情况如下:

export default class HelloWorld extends Vue {
  @Prop() private msg!: string;
}

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

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

enter image description here

2)string带有红色下划线 - > 成员'字符串'隐式具有'任意'类型。

enter image description here

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

问题2:我怎样才能在VSCode中处理Vue + TypeScript?我需要考虑什么(全部)?

1 个答案:

答案 0 :(得分:4)

导入*.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,它使用了TypeScript 2.7中引入的不支持definite assignment assertions的旧版TypeScript版本。 (vuejs/vetur Issue #723

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