You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Nx工作区的project.json中配置NODE_OPTIONS参数?

在Nx工作区中为Angular构建配置NODE_OPTIONS的可行方案

你之前通过dependsOn关联任务设置环境变量的方式无效,核心原因是Nx的每个任务都运行在独立进程中,前一个进程设置的环境变量不会传递到后续任务进程。以下是两种可行的实现方式:

方式一:用nx:run-commands包裹构建命令(推荐,跨平台)

将原有的build目标拆分为两个部分:一个负责注入环境变量并调用真正的构建任务,另一个保留原有的@nx/angular:webpack-browser配置。

修改项目的project.json:

{
  "targets": {
    "build": {
      "executor": "nx:run-commands",
      "options": {
        "command": "nx run {projectName}:build-core",
        "env": {
          "NODE_OPTIONS": "--max_old_space_size=5000"
        },
        "cwd": "{projectRoot}"
      },
      "configurations": {
        "production": {
          "command": "nx run {projectName}:build-core:production"
        }
      }
    },
    "build-core": {
      "executor": "@nx/angular:webpack-browser",
      // 保留你原来的build配置项,比如outputPath、index、main等
      "options": {
        "outputPath": "dist/apps/my-app",
        "index": "apps/my-app/src/index.html",
        "main": "apps/my-app/src/main.ts",
        // 其他原有配置...
      },
      "configurations": {
        "production": {
          // 原production环境配置...
        }
      }
    }
  }
}

这种方式利用Nxrun-commands的env参数直接注入环境变量,自动适配Windows/Linux平台,无需额外依赖cross-env。

方式二:修改package.json的npm脚本

如果不想改动project.json的任务结构,可以直接在根目录的package.json中修改构建脚本:

{
  "scripts": {
    "build": "cross-env NODE_OPTIONS=--max_old_space_size=5000 nx build"
  }
}

执行npm run build -- MY_APP时,环境变量会被自动设置并传递给Nx构建进程。需要先安装cross-env依赖:

npm install cross-env --save-dev

内容的提问来源于stack exchange,提问作者undefined

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 18:05:12