首页 > 解决方案 > 反应 | 网页包 | 在 Azure 上获取 process.env.NODE_ENV== undefined

问题描述

在 package.json 中的以下脚本中使用,以在创建构建时设置 NODE_ENV。

"scripts": {
    "build-dev": "set NODE_ENV=development && webpack --config webpack.config.prod",
    "build-client": "set NODE_ENV=production && webpack --config webpack.config.prod",
}

如果我在本地运行“npm run build-dev or build-client”,它可以正常工作并且能够在 webpack.config.common.js 文件上读取正确的 NODE_ENV。

但是,如果我尝试使用相同的命令在 Azure 管道上创建构建,则process.env.NODE_ENV 返回为未定义

在 Azure 上不确定为什么“process.env.NODE_ENV”返回未定义。有人可以帮助理解以及在 Azure 上需要做什么来读取在构建时设置的正确 NODE_ENV。

以下是管道详细信息

# Node.js
# Build Data Direct UI project with npm.
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript

trigger: none
#- master

pool: AGENTS

variables:
  system.debug : true
  
steps:

- task: Docker@0
  displayName: 'Build an Image'
  inputs:
    azureSubscription: 'CIS-DEV-001-SC'
    azureContainerRegistry: `{"loginServer":"acrncusd.azurecr.io", "id" : "acrncusd"}`



- task: Docker@0
  displayName: 'Push Image'
  inputs:
    azureSubscription: 'CIS-DEV-001-SC'
    azureContainerRegistry: `{"loginServer":"acrncusd.azurecr.io", "id" :  
    "acrncusd"}`
    action: 'Push an image'
    imageName: `$(Build.Repository.Name):$(Build.BuildId)`

标签: javascriptreactjsazureazure-devopswebpack-4

解决方案


如果您使用的是 windows- hosted agent,我们应该删除.&&

尝试:

"scripts": {
    "build-dev": "set NODE_ENV=development&&webpack --config webpack.config.prod",
    "build-client": "set NODE_ENV=production&&webpack --config webpack.config.prod",
}

推荐阅读