当我在其他文件中引用类时,intellisense会在VS代码中显示一个带有所需导入的灯泡。遗憾的是,使用path mapping时并非如此。
"baseUrl": ".",
"paths": {
"@shared-vb/*": [
"../shared/vb/*"
]
},
"rootDirs": [
".",
"../shared"
]
如果我们在vb-sessioninfo.ts
中有一个班级../shared/vb
,我们可以使用import VbSessionInfo from '@shared-vb/vb-sessioninfo'
干净地导入它们。通常情况下,当我输入VbSessionInfo
时,我会得到一个带有建议的魔法灯泡。但不是在这种情况下,我没有任何建议。当我手动输入import VbSessionInfo from '@shared-vb/vb-sessioninfo'
时,导入本身就有效。
我想避免像import .. from '../shared/module-folder/module
这样的硬编码导入。他们不灵活can result in long nasty statements。如果文件移动到文件系统的另一个文件夹中,我们可能必须更改大量错误的导入。所以我的想法是在C#中替换命名空间。路径映射在这里似乎是一个好主意:尽管它不像C#那样自动解析,但我们可以在一个地方定义真实的文件夹(tsconfig.json
)。这加快了开发速度并防止我在搜索/替换中浪费时间。