繁体   English   中英

节点找不到在 tsconfig 和 package.json 中定义的模块别名

[英]Node unable to find module alias defined in tsconfig and package.json

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

  • 运行npm run start:devhttp://localhost:3000/上运行服务器
  • 运行npm run build正在生成dist文件夹

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

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

@server也在tsconfig.jsoncompilerOptions.paths.@server下定义!

index.ts@server导入app

import app from '@server';

当我运行npm start - 它什么也不做

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

Error: Cannot find module '@server'

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM