[英]Nestjs: Repl with monorepo mode
我有一個使用monorepo 模式的 Nest 應用程序。 我想利用 nest 9.0+ 中發布的新repl功能。
我的目錄結構如下所示:
應用/
--inventory-ops/src/app.module
--ticket-office/src/app.module
我已按照創建 repl.ts 的文檔中的說明進行操作,但是當我運行 repl 命令時:
npm run start -- --entryFile repl
我收到此錯誤 output:
Error: Cannot find module '/dist/apps/ticket-office/repl'
查看我的dist
文件夾,唯一的構建目標是main.js
,這可以解釋它無法找到 repl 模塊。 我是否需要更新我的 webpack 配置中的某些內容以確保也構建了repl.ts
? 任何幫助,將不勝感激。
嘗試運行這個:
nest start <your-app> --config nest-cli.json --debug --watch -- --entryFile repl
我遇到了同樣的問題,這對我有用。
我真的不知道為什么 NestJS 僅在明確提供 cli 配置時才考慮構建 repl 文件。 這可能是 CLI 的錯誤。
我設法通過在nest-cli.json
添加一個新項目來解決這個問題,例如:
{
"$schema": "https://json.schemastore.org/nest-cli",
"collection": "@nestjs/schematics",
"sourceRoot": "apps/gateway/src",
"monorepo": true,
"root": "apps/gateway",
"compilerOptions": {
"webpack": true,
"tsConfigPath": "apps/gateway/tsconfig.app.json"
},
"projects": {
"gateway": {
"type": "application",
"root": "apps/gateway",
"entryFile": "main",
"sourceRoot": "apps/gateway/src",
"compilerOptions": {
"tsConfigPath": "apps/gateway/tsconfig.app.json"
}
},
"ticket-office": {
"type": "application",
"root": "apps/ticket-office",
"entryFile": "main",
"sourceRoot": "apps/ticket-office/src",
"compilerOptions": {
"tsConfigPath": "apps/ticket-office/tsconfig.app.json"
}
},
"ticket-office:repl": { // <<--- HERE
"type": "application",
"root": "apps/ticket-office",
"entryFile": "repl", // <<-- HERE
"sourceRoot": "apps/ticket-office/src",
"compilerOptions": {
"tsConfigPath": "apps/ticket-office/tsconfig.app.json"
}
},
}
}
然后你可以運行nest start ticket-office:repl
我希望這有幫助。
編輯:修改了你問題的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.