用于生产缺失的节点模块捆绑包的Nrwl Nx构建

时间:2020-03-20 10:53:28

标签: express nrwl nrwl-nx

我有一个Nrwl Nx存储库,其中包含不同的应用程序(Angular,带有Express的nodejs)和内部共享库。 回购是使用nx cli创建的,我想为其中一个express应用创建生产版本。

nx build:production myexpressapp

我得到的捆绑包非常好,如果我从构建它的地方(dist文件夹)运行它(使用pm2),它将运行。 但是,如果我将其投入生产,则节点模块将丢失,并且该应用程序无法启动。 如果我将带有内置dist的node_modules文件夹复制到上面,则它也可以正常工作。

但是我非常喜欢以下任何一个

  • 要获得包含所有必需模块的大包装吗?
  • 在我所有需要的模块所在的主要位置上获得另一个“供应商”捆绑包吗?

我尝试在生产构建选项中使用"vendorChunk":true,但没有任何变化。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

查看angular.json(或workspace.json),如果您的builder@nrwl/node:build,请在options下将externalDependencies设置为{{1 }},就像这样:

none

您可能会遇到以下错误:

{
  "projects": {
    "api": {
      "architect": {
        "build": {
          "builder": "@nrwl/node:build",
          "options": {
            "externalDependencies": "none"
            ...

只需继续安装它抱怨的内容,直到它停止为止。

参考:Nrwl Nx Node Builder