【问题标题】:nrwl/nx monrepo nestjs build error Cannot find module '@nestjs/common'nrwl/nx monrepo nestjs 构建错误找不到模块'@nestjs/common'
【发布时间】:2021-02-01 21:21:21
【问题描述】:

我在项目 angular 中使用 nrwl/nx monorepo 作为前端,使用 nestjs 作为后端 api。当我尝试构建操作系统时,当我启动nestjs main.js 时,两个应用程序都有角度构建并成功运行时出现错误

Error: Cannot find module '@nestjs/common'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.@nestjs/common (/home/ubuntu/****/apps/***-api/main.js:4662:18)
at __webpack_require__ (/home/ubuntu/****/apps/****-api/main.js:20:30)
at Object../apps/*****api/src/main.ts (/home/ubuntu****-lab/apps/*****api/main.js:2997:18)
at __webpack_require__ (/home/ubuntu/*****/apps/**** api/main.js:20:30)
at Object.0 (/home/ubuntu/*****-lab/apps/*****-api/main.js:4650:18)
at __webpack_require__ (/home/ubuntu/****-lab/apps/*****-api/main.js:20:30)

【问题讨论】:

  • 你的构建命令是什么?您是否通过 npm/yarn/pnpm 安装了 @nestjs/common 模块?错误发生在编译时还是运行时?
  • @JayMcDoniel 基本上命令是 npm run appsName:build —prod。该项目在开发服务器上运行,所有包都通过 npm 安装。并且运行时现在显示错误仅显示构建成功并且文件夹内 main.js 和 main.map.ja 和资产可用。我将它部署在服务器上并使用 node / pm2 启动它,错误显示找不到模块。运行时错误
  • 你是如何部署它的?您是否在部署它的服务器上也安装了依赖项? Nx webpack 将服务器代码打包到 main.js,但它没有像 Angular 那样引入任何 node_modules,所以你仍然需要你的 prod 依赖项
  • @Jay McDoniel 我正在使用 github 操作构建和部署它,正如你提到的,我已经安装了 depen。在服务器上它正在运行。谢谢

标签: angular nestjs monorepo nrwl-nx


【解决方案1】:

据了解,代码的构建和部署是在服务器所在的外部进行的。 Nx webpack 将服务器代码打包到 main.js 中,但它没有像 Angular 那样引入任何 node_modules,所以你仍然需要你的 prod 依赖项。在服务器上安装 prod 依赖项将解决此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-02
    • 2022-01-09
    • 2019-10-29
    • 2020-02-05
    • 2020-01-25
    • 2021-01-18
    • 2021-08-12
    • 2020-06-22
    相关资源
    最近更新 更多