簡體   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