VS Code“转到定义”在没有路径的情况下导入时不起作用

Cod*_*die 5 javascript reactjs visual-studio-code vscode-settings

我正在尝试设置 VS Code 以允许我cmd+clickright click + Go To Definitions在导入不使用相对或绝对路径的 JS 组件时。相反,这些是由 Webpack 设置的,用于查找文件夹中的任何文件,而不管深度如何。

我的文件夹结构示例:

code/
??? backend/
??? frontend/
?   ??? resources/
?       ??? css/
?       ??? js/
?           ??? notifications/
?           ?   ??? alerts.js
?           ?   ??? mail.js
?           ?
?           ??? sidebar/
?           ?   ??? panes/
?           ?       ??? account.js
?           ?
?           ??? footer/
?               ??? main.js
?
??? jsconfig.json
Run Code Online (Sandbox Code Playgroud)

我如何尝试从以下位置导入组件(我正在使用 React)的示例/code/frontend/resources/js/footer/main.js

import Mail from 'mail';
import Account from 'account';
Run Code Online (Sandbox Code Playgroud)

我当前的 VS 代码示例/jsconfig.json

{
  "compilerOptions": {
    "target": "ES6",
    "baseUrl": ".",
    "paths": {
      "*" : [
        "*",
        "code/frontend/resources/js/**/*"
      ]
    },
  }
}
Run Code Online (Sandbox Code Playgroud)

我基本上是想告诉 VS Code 将该js目录设为根目录,我可以从中导入任何 JS 文件而不使用路径,以便它允许我使用该"Go To Definition"选项。我确定它可以做到,但我不知道如何做到。有任何想法吗?

注意:只是重新迭代,我在使用import.

任何帮助表示赞赏。提前致谢。

更新:仅供参考,我的代码在浏览器上正确运行,因为 webpack 在运行时处理路径,这不是问题。我只是无法让 VS Code 了解路径是什么,以便使用他们的"Go To Definition"功能。

小智 0

下面的一项可能会有所帮助。为我工作

{
  "compilerOptions": {
    "baseUrl": "src",
    "paths": {
      "@/*": ["src/*"]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

检查更多选项https://code.visualstudio.com/docs/languages/jsconfig#_jsconfig-options