Javascript vscode+;vetur:从.js文件转到定义-#x27;行不通
我已经安装了Vetur,并且在我的项目根目录中有一个Javascript vscode+;vetur:从.js文件转到定义-#x27;行不通,javascript,vue.js,webpack,vscode-settings,vetur,Javascript,Vue.js,Webpack,Vscode Settings,Vetur,我已经安装了Vetur,并且在我的项目根目录中有一个jsconfig.js文件。这是一个javascript vue cli 3项目 Ido可以从一个.vue文件转到另一个.vue文件的定义 我可以从一个.js文件转到另一个.js文件 Ido可以将定义从.vue文件转到.js文件 但是, 我无法将定义从.js文件转到.vue文件。当我尝试这样做时,vscode会打开“转到引用”小部件 我的jsconfig.file的内容: { //VSCode需要此文件才能理解网页包别名 “模块”:“es6”,
jsconfig.js
文件。这是一个javascript vue cli 3项目
Ido可以从一个.vue文件转到另一个.vue文件的定义
我可以从一个.js文件转到另一个.js文件
Ido可以将定义从.vue文件转到.js文件
但是,
我无法将定义从.js文件转到.vue文件。当我尝试这样做时,vscode会打开“转到引用”小部件
我的jsconfig.file的内容
:
{
//VSCode需要此文件才能理解网页包别名
“模块”:“es6”,
“moduleResolution”:“节点”,
“编译器选项”:{
“resolveJsonModule”:true,
“jsx”:“保存”,
“模块”:“commonjs”,
“目标”:“es5”,
“源地图”:正确,
“allowSyntheticDefaultImports”:true,
“baseUrl”:“,
//相对于“baseUrl”
“路径”:{
“@/*”:[”/src/*“],
“mocks/*”:[“/tests/unit/specs/\uuuuu mocks\uuuuuu/*”],
“test-e2e/*”:[”/tests/e2e/specs/*”],
“测试单元/*”:[”/tests/unit/specs/*“]
}
},
“排除”:[
“.git”,
“.app缓存”,
“.npm”,
“.npm tmp”,
“区”,
“dist*”,
“节点_模块”,
“子文件夹/区域”,
“子文件夹/节点\u模块”,
“***/dist/*”,
“***/node_modules/*”
]
}
我知道GitHub上有很多与此相关的问题,但所有这些问题似乎都与typescript项目有关,或者只涉及.vue
文件。我找不到任何解决这个具体问题的办法
我尝试安装“vue peek”扩展,但没有任何更改。这不是答案,而是有关该问题的更多信息,因为我也有它,我不知道如何解决它 问题似乎是
*.vue
文件由Vetur扩展处理。Vetur扩展正在调用
上的typescript,以允许它正确解析*.vue
文件导入
但是,*.js
文件直接由typescript处理,typescript不知道*.vue
是什么,它试图通过添加各种默认扩展名来解析它,就好像它是一个没有扩展名的文件名一样:*.vue.ts
,*.vue.tsx
,*.vue.js
,这就是为什么它找不到它
我对代码运行了npx typescript--traceResolution
,输出如下:
======== Resolving module './App.vue' from 'src/main.js'. ========
Module resolution kind is not specified, using 'NodeJs'.
Loading module as file / folder, candidate module location 'src/App.vue', target file type 'TypeScript'.
File 'src/App.vue.ts' does not exist.
File 'src/App.vue.tsx' does not exist.
File 'src/App.vue.d.ts' does not exist.
Directory 'src/App.vue' does not exist, skipping all lookups in it.
Loading module as file / folder, candidate module location 'src/App.vue', target file type 'JavaScript'.
File 'src/App.vue.js' does not exist.
File 'src/App.vue.jsx' does not exist.
Directory 'src/App.vue' does not exist, skipping all lookups in it.
======== Module name './App.vue' was not resolved. ========
这不是一个答案,而是关于这个问题的更多信息,因为我也有它,我不知道如何解决它 问题似乎是
*.vue
文件由Vetur扩展处理。Vetur扩展正在调用
上的typescript,以允许它正确解析*.vue
文件导入
但是,*.js
文件直接由typescript处理,typescript不知道*.vue
是什么,它试图通过添加各种默认扩展名来解析它,就好像它是一个没有扩展名的文件名一样:*.vue.ts
,*.vue.tsx
,*.vue.js
,这就是为什么它找不到它
我对代码运行了npx typescript--traceResolution
,输出如下:
======== Resolving module './App.vue' from 'src/main.js'. ========
Module resolution kind is not specified, using 'NodeJs'.
Loading module as file / folder, candidate module location 'src/App.vue', target file type 'TypeScript'.
File 'src/App.vue.ts' does not exist.
File 'src/App.vue.tsx' does not exist.
File 'src/App.vue.d.ts' does not exist.
Directory 'src/App.vue' does not exist, skipping all lookups in it.
Loading module as file / folder, candidate module location 'src/App.vue', target file type 'JavaScript'.
File 'src/App.vue.js' does not exist.
File 'src/App.vue.jsx' does not exist.
Directory 'src/App.vue' does not exist, skipping all lookups in it.
======== Module name './App.vue' was not resolved. ========