VSCode打开webpack项目,无法对@指向的文件使用“转到定义”,怎么办?
前言
现在前端最流行的编辑器无疑是VSCode,但是它默认是无法跳转类似于@/assets/a.js
这样的路径的,怎么办?
使用jsconfig.json
jsconfig.json是VSCode自带的一个配置文件,默认不生成这个文件,需要自己创建。官方文档说的很清楚,尽管是英文文档:
https://code.visualstudio.com/docs/languages/jsconfig
它的原理是,根据文档配置这个json,然后放到项目的根目录里面,重启VSCode,然后右击@/assets/a.js
这样的路径,就会发现,可以正常用了。
做法
- 在项目根目录创建一个文件叫jsconfig.json。
- 填入内容:
{ "compilerOptions": { "baseUrl": ".", "paths": { "@/*": ["src/*"] }, "target": "ES6", "allowSyntheticDefaultImports": true }, "include": ["src/**/*"], "exclude": ["node_modules"] }
- 重启VSCode。
- 右击一个类似于
@/assets/a.js
的代码,点击“转到定义”。你会发现,可以用了。
还可以继续深挖jsconfig.json的其他用途,看文档即可。
转向缺省后缀名的.vue文件无效
当指向的是.vue文件,但@/assets/a
又缺省了后缀名,这时候也是转向无效的,所以要么写成@/assets/a.vue
的形式,要么就要考虑修改jsconfig.json的paths配置,但是我不会改,诸位自行研究吧。
不过写成.vue全路径并不是一个坏习惯,毕竟写明确一些并不费时间,而且代码更一目了然。
欢迎捐赠
漫思