Javascript vscode能否支持ES6导入的绝对路径引用?

Javascript vscode能否支持ES6导入的绝对路径引用?,javascript,visual-studio-code,Javascript,Visual Studio Code,我们已经开始使用“绝对”路径,例如从“~/utils/Foo”导入Foo,其中,~映射到我们的根JS目录(比如说assets/JS),而不是从“~/utils/Foo””导入Foo 这似乎破坏了vscode的控制单击导航,我怀疑,它所做的所有自动/隐式推断都是因为它根本无法遵循导入语句 是否有方法将~映射到vscode中的特定文件夹/子文件夹,以便再次工作 (理想情况下,我们可以有多个映射,例如一个映射用于src/main/JS中的生产JS代码,另一个映射用于测试JS代码,例如src/test/

我们已经开始使用“绝对”路径,例如从“~/utils/Foo”导入Foo,其中,
~
映射到我们的根JS目录(比如说
assets/JS
),而不是从“~/utils/Foo””导入Foo

这似乎破坏了vscode的控制单击导航,我怀疑,它所做的所有自动/隐式推断都是因为它根本无法遵循导入语句

是否有方法将
~
映射到vscode中的特定文件夹/子文件夹,以便再次工作


(理想情况下,我们可以有多个映射,例如一个映射用于
src/main/JS
中的生产JS代码,另一个映射用于测试JS代码,例如
src/test/JS

我认为普通JavaScript项目不支持这种映射,但Typescript项目支持这种映射(我还将详细介绍一种可用于JS项目的变通方法)。如果您希望更好地支持这种功能,我建议您

要在TypeScript项目中启用此功能,请在项目根目录中创建一个
tsconfig.json
文件:

{
    "compilerOptions": {
        "baseUrl": ".",
        "paths": {
            "~/*": [
                "assets/js/*"
            ]
        }
    }
}
路径
是您想要的映射

现在,任何形式的导入:

import Foo from '~/utils/Foo'
决心

 import Foo from 'assets/js/utils/Foo'
默认情况下,这只适用于TypeScript文件,但您也可以在JS文件中启用它,方法是向
tsconfig.json
添加
“allowJs”:true
,如下所示:

{
    "compilerOptions": {
        "baseUrl": ".",
        "paths": {
            "~/*": [
                "assets/js/*"
            ]
        },
        "allowJs": true
    }
}
这将为项目中的JavaScript文件启用相同的intellisense功能

在JavaScript情况下,请记住,
路径
配置仅用于工具支持。它不会更改代码的运行时行为,因此您仍然需要确保运行时能够正确解析模块路径“~/utils/Foo”


再次,请考虑打开一个针对VSCode的特征请求,如果你希望这个场景得到更好的支持,或者对这里的事情有什么改进的想法。

我很想看到这个,但是还没有找到一个方法。