0

我的结构是:

/Home
  /home.js
  /Home.jsx

在 .jsx 中,我尝试在带有 webpack 别名的路径上使用 go to defenition 功能。要jsconfig.json使用此参数解析 webpack 别名:

{
  "compilerOptions": {
    "target": "es6",
    "module": "es6",
    "moduleResolution": "node",
    "jsx": "react-jsx",
    "baseUrl": "./",
    "paths": {
      "@/*": ["src/*"]
    }
  },
  "exclude": ["node_modules", "dist"]
}

而且只有在这种情况下

当 .jsx 和 .js 文件在同一个文件夹中时

我无法使用该功能。如果我重命名文件它开始工作。它也可以在 WebStorm 中运行而无需任何更改。

请告诉我有什么问题...

4

2 回答 2

1

我修好了它!

当我停用此扩展时,问题就消失了:JavaScript and TypeScript Nightly

于 2021-10-04T07:21:21.890 回答
0

VSCode 在后台使用 TS 引擎来分析 JS。TS 中的约定是省略文件扩展名。所以从TS引擎的POV来看,这两个同名但扩展名不同的文件令人困惑。

我想这只是 TS 语言引擎的限制(或错误?我不确定),没有必要做错任何事情。WebStorm 显然使用其他实现来分析/解决包引用。因此,您不会在那里遇到问题。

我真的不知道您的问题的解决方案,只能提供上述解释。如果我是你,我只会重命名我的文件,而不是花时间与工具作斗争。

于 2021-09-27T16:19:30.280 回答