首页 > 解决方案 > 节点找不到在 tsconfig 和 package.json 中定义的模块别名

问题描述

我正在尝试在生产模式下运行打字稿项目。代码在 Github 上

具有使用模块别名package.json定义的定义:@server

"_moduleAliases": {
  "@server": "dist/Server"
}

也被@server定义compilerOptions.paths.@servertsconfig.json了!

index.ts进口; app_@server

import app from '@server';

当我跑步时npm start- 它什么也不做

所以我试了一下node dist/index.js --env=production,它抛出了以下错误:

Error: Cannot find module '@server'

为什么节点没有检测到这个模块别名

标签: javascriptnode.jstypescript

解决方案


module-alias自述文件所述,它改变了require. 因此,要使用它,您必须require('module-alias/register')在导入任何内容之前添加到代码的开头。我建议将其添加到LoadEnv.ts.


推荐阅读