Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Azure静态Web应用节点JS环境变量_Node.js_Azure_Azure Devops_Environment Variables_Azure Pipelines - Fatal编程技术网

Node.js Azure静态Web应用节点JS环境变量

Node.js Azure静态Web应用节点JS环境变量,node.js,azure,azure-devops,environment-variables,azure-pipelines,Node.js,Azure,Azure Devops,Environment Variables,Azure Pipelines,我正在使用Azure静态Web应用程序服务和Azure DevOps管道部署NodeJS应用程序。管道建设进展顺利。现在我必须使用env变量为后端定义一个URL,但没有成功 trigger: - develop jobs: - job: JobTest pool: vmImage: ubuntu-latest variables: - name: BACKEND_URL value: https://<some_url>

我正在使用Azure静态Web应用程序服务和Azure DevOps管道部署NodeJS应用程序。管道建设进展顺利。现在我必须使用env变量为后端定义一个URL,但没有成功

trigger:
- develop

jobs:
  - job: JobTest
    pool:
      vmImage: ubuntu-latest

    variables:
    - name: BACKEND_URL
      value: https://<some_url>
    - name: System.Debug
      value: true
    steps:
    - task: AzureStaticWebApp@0
      inputs:
        app_location: "/" 
        api_location: ""
        output_location: "dist"

      env:
        BACKEND_URL: $(BACKEND_URL)
        azure_static_web_apps_api_token: $(deployment_token)
    - bash: echo $(BACKEND_URL)
    - bash: echo $PWD
触发器:
-发展
工作:
-工作:工作测试
游泳池:
vmImage:ubuntu最新版本
变量:
-名称:后端URL
值:https://
-名称:System.Debug
值:true
步骤:
-任务:AzureStaticWebApp@0
投入:
应用程序位置:“/”
api_位置:“
输出位置:“dist”
环境:
后端URL:$(后端URL)
azure\静态\ web\应用程序\ api\令牌:$(部署\令牌)
-bash:echo$(后端URL)
-bash:echo$PWD
从NodeJS代码中,在“/app/src/models/config.ts”文件中,我得到了如下信息:

export const BACKEND_URL=process.env.BACKEND_URL

如果我用实际的URL更改process.env.BACKEND\u URL,它将正常工作

此外,在Azure管道中,此任务正在使用构建系统


问题是如何在代码中使用管道中的env?

静态Web应用程序不能使用后端变量。

可以考虑使用<代码> .Env>代码>文件来配置环境变量。格式如“

name=value
”(不带引号)

并在要调用环境变量的文件中安装
dotenv
,通过
process.env
访问它们

看看这篇文章:


我的另一个答案是:

为了帮助改进这个问题,我添加了一个答案:


env变量不能与azure静态Web App一起使用azure管道。而且。

我认为该任务目前不支持其他环境变量。在这里创建了一个问题,以解决如何设置的问题。但我猜它不会像@Anthony Chu指出的那样与静态应用程序一起工作。我在
/app/build/
目录中有
.env.sample
文件。我还有bash脚本
cp./build/.env.sample.env
,将从
/app/
目录中的
package.json
文件执行。本地工作正常,但当我尝试用Azure管道构建它时,我得到一个错误,该文件不存在。这就是为什么我把变量放在env中,它在那里,但它从来没有这样渲染或设置过。