这是一个老问题,但我还没有找到确切的答案。
我想在不使用 '../../../etc' 导入语法的情况下在我的 TS 项目中引用我的模块。我做了以下更改:
...
baseUrl: ".",
paths: {
"@orm/*": ["./src/orm/*"]
}
...
当我参考时,IDE 很高兴(VSCode)和智能尊重
import {} from '@orm/something'
但是当我编译它时,我在编译的 js 文件中得到了 require('@orm/something') ,当然这个路径不存在。
编译文件夹示例:
dst\
--orm\
----something.js
--another_folder\
----myfile.js (here is import {} from '@orm/something')
这是我的 tsconfig 文件:
{
"compilerOptions": {
"outDir": "dst",
"experimentalDecorators": true,
"module": "commonjs",
"target": "es5",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"sourceMap": false,
"baseUrl": ".",
"paths": {
"@orm/*": ["./src/orm/*"]
}
},
"compileOnSave": false
}
我不明白我在做什么错,我不想使用 webpack 之类的东西来解决问题,我想保留我的文件夹结构以进行开发。
请帮忙)