Node.js 在Nx工作区中运行NestJS构建工件时出错

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

当我尝试运行在Nx工作区中创建的NestJS应用程序的构建工件时,我遇到了错误。只有在存储库之外不存在node_modules文件夹的任何位置运行生成的工件时,才会发生错误

复制步骤:

  • 克隆此回购协议
  • 运行
    npm install
    安装所有软件包
  • 运行
    ng构建后端
  • 进入dist/apps/backend中的dist文件夹
  • 在该文件夹中运行
    node main.js
    ,您将看到后端已成功启动
  • 现在将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?对此有更新吗?