VSCode打开webpack项目,无法对@指向的文件使用“转到定义”,怎么办?

前言

现在前端最流行的编辑器无疑是VSCode,但是它默认是无法跳转类似于@/assets/a.js这样的路径的,怎么办?

使用jsconfig.json

jsconfig.json是VSCode自带的一个配置文件,默认不生成这个文件,需要自己创建。官方文档说的很清楚,尽管是英文文档:

https://code.visualstudio.com/docs/languages/jsconfig

它的原理是,根据文档配置这个json,然后放到项目的根目录里面,重启VSCode,然后右击@/assets/a.js这样的路径,就会发现,可以正常用了。

做法

  1. 在项目根目录创建一个文件叫jsconfig.json。
  2. 填入内容:
{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"]
    },
    "target": "ES6",
    "allowSyntheticDefaultImports": true
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules"]
}
  1. 重启VSCode。
  2. 右击一个类似于@/assets/a.js的代码,点击“转到定义”。你会发现,可以用了。

还可以继续深挖jsconfig.json的其他用途,看文档即可。

转向缺省后缀名的.vue文件无效

当指向的是.vue文件,但@/assets/a又缺省了后缀名,这时候也是转向无效的,所以要么写成@/assets/a.vue 的形式,要么就要考虑修改jsconfig.json的paths配置,但是我不会改,诸位自行研究吧。

不过写成.vue全路径并不是一个坏习惯,毕竟写明确一些并不费时间,而且代码更一目了然。

上一篇:轻松解决github加载缓慢、图片加载失败等一系列问题!


下一篇:vue-cli打包项目后路径错误问题