在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)`

最佳答案

如果您使用的是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",
}

09-07 17:59