Node.js 在Nx工作区中运行NestJS构建工件时出错
当我尝试运行在Nx工作区中创建的NestJS应用程序的构建工件时,我遇到了错误。只有在存储库之外不存在node_modules文件夹的任何位置运行生成的工件时,才会发生错误 复制步骤:Node.js 在Nx工作区中运行NestJS构建工件时出错,node.js,nestjs,nrwl,nrwl-nx,Node.js,Nestjs,Nrwl,Nrwl Nx,当我尝试运行在Nx工作区中创建的NestJS应用程序的构建工件时,我遇到了错误。只有在存储库之外不存在node_modules文件夹的任何位置运行生成的工件时,才会发生错误 复制步骤: 克隆此回购协议 运行npm install安装所有软件包 运行ng构建后端 进入dist/apps/backend中的dist文件夹 在该文件夹中运行node main.js,您将看到后端已成功启动 现在将main.js复制到克隆存储库之外的其他位置(例如/tmp或c:\temp) 在新位置再次运行node ma
npm install
安装所有软件包ng构建后端
node main.js
,您将看到后端已成功启动/tmp
或c:\temp
)node main.js
,您将遇到以下错误:internal/modules/cjs/loader.js:775
犯错误;
^
错误:找不到模块“tslib”
需要堆栈:
-/home/bernhard/main.js
位于Function.Module.\u resolveFilename(internal/modules/cjs/loader.js:772:15)
at Function.Module._lo[ad(内部/modules/cjs/loader.js:677:27)
at Module.require(内部/modules/cjs/loader.js:830:19)
根据需要(内部/modules/cjs/helpers.js:68:18)
…[为简洁起见省略]{
代码:“未找到模块”,
}
你的NestJs
应用程序有一个tslib
模块依赖关系(至少,甚至还有其他几个)
因此,您还应该部署带有所需依赖项的包.json
。
为此,您可以从nx workspace
创建主开发包.json的精确副本,或者使用仅依赖于已部署目标的特定副本(以避免您的生产托管环境加载大量无用库)
在启动你的
NestJs
应用程序之前,不要忘记调用npm install
。但是如果你复制package.json并运行npm install
,它将安装所有不适用于NestJs的软件包……因为NX将angular和其他应用程序软件包放在同一个package.json文件中。我们有没有办法包含所有dependenci要构建的NestJs项目的es?对此有更新吗?