如何在TypeScrip中创建本地模块
我已在src/modules/my-module/
文件夹中创建了package.json
,并定义了导出我们所需的所有内容的主文件。
我现在可以从中导入import {A} from '../../modules/my-module'
我想将语法更改为import {A} from 'my-module'
,我有几个原因:
- 将模块移动到另一个文件夹时,我不想更改调用此模块的所有代码。
- 稍后,我希望能够将模块作为NPM包移动到单独的存储库,并在多个项目中重复使用它。我不想稍后更改所有调用代码。
我已设法通过添加到tsconfig.json
"paths": {
"my-module": ["src/modules/my-module"]
}
但我不能通过node.js运行结果,因为节点找不到模块。在这种情况下,有没有办法使用非实际的模块引用。
解决方案
将ts文件转换为js时,TS不会转换"my-MODULE"。使用module-alias包可能会解决您的问题。
将以下配置添加到Package.json:
"_moduleAliases": {
"my-module": "<your_build_folder>/modules/my-module"
},
和主文件(server.ts/index.ts)第一行的代码
import 'module-alias/register';
相关文章