在创建构建时使用 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://learn.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",
}
关于javascript - react |网页包 |在 Azure 上获取 process.env.NODE_ENV== 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63446153/