5

这是一个老问题,但我还没有找到确切的答案。

我想在不使用 '../../../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 之类的东西来解决问题,我想保留我的文件夹结构以进行开发。

请帮忙)

4

0 回答 0