在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",
}