这是vscode issue #16320的后续 Activity ,vscode开发人员Matt Bierner建议我在这里询问。
VS Code的最新版本...
jsconfig.json
配置)webpack别名,这是一个webpack功能,它为更友好的导入启用了导入行的前缀(请参阅vscode documentation for Webpack aliases)。例如,将/src/api
别名为*
将使我键入import foo from */users
而不是import foo from ../../../../src/api/users
。 但是在某些用例中,它们会一起失败。我为用例构建了一个minimal broken test project (zip, 3kB)。任何人都可以看一下它,看看我做错了什么还是看起来像个错误?
解压缩zip并查看
README.md
:路径自动完成有效,但不能“窥视”或“转到定义”。npm install && npm run build && node dist/index.js
→安装和构建均成功,表明Webpack满意。运行日志[1, 2, 3]
。 code /path/to/project
并打开src/index.js
在第5行,尝试按getLinks
上的F12→
No definition found for 'getLinks'
😢我仍然在
jsconfig.json
中做错了什么,还是这是一个错误? (也许是多种导出水平?) 最佳答案
如下更改src/index.js
:
import { Links } from 'api/resources';
更改
jsconfig.json
文件路径,如下所示:"paths": {
"api/*": ["./src/api/*"]
}
在
src/api/resourcers/index.js
中更改您的导入导出,如下所示:import * as Links from './links';
export {Links};
还安装此软件包并使用
--save-dev
选项npm install --save-dev babel-plugin-module-resolver
在此之后,将该插件添加到
babel plugins
中的package.json
中,我不知道您是否需要根前缀插件,但我将其删除了。"plugins": [
"transform-runtime",
"transform-export-extensions",
"transform-object-rest-spread",
[
"module-resolver", {
"root": ["./src"],
"alias": {
"api": "./src/api"
}
}
]
您还可以将api更改为资源,但是在这种情况下,您需要像下面这样导入:
import {Links} from 'resources/index';
还请检查this和this.