asp.net 核心环境变量未传递给 vuejs 配置

Posted

技术标签:

【中文标题】asp.net 核心环境变量未传递给 vuejs 配置【英文标题】:asp.net core environment variable not passing to vuejs config 【发布时间】:2021-06-14 16:38:57 【问题描述】:

我正在尝试将 asp.net core (kesterl) 中的环境变量设置传递给 vuejs 我的启动设置就像


  "iisSettings": 
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": 
      "applicationUrl": "https://localhost:44323/",
      "sslPort": 44323
    
  ,
  "$schema": "http://json.schemastore.org/launchsettings.json",
  "profiles": 
    "IIS Express": 
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": 
        "ASPNETCORE_ENVIRONMENT": "Development",
        "BEAPI_URL": "http://localhost:4000/api/v1",
        "VUE_BEAPI_URL": "http://localhost:4000/api/v1"
      
    ,    
  

我的 vuejs 配置如下

export default 
    // apiUrl: 'http://localhost:4000/api/v1'    
    apiUrl: process.env.VUE_BEAPI_URL
    

任何人都喜欢我的场景 除此之外,我的 vuejs 应用程序在 kesterl 下运行良好

【问题讨论】:

你使用的是什么版本的 vue.js?可能您需要将前缀 VUE_APP_ 添加到 ENV 以使它们在您的 vue.js 应用程序中可用。 ***.com/q/50828904/83039 我试过加VUE_APP_后缀但是没有效果。 vuejs 版本是 2.6.12 【参考方案1】:

以下设置有效 kesterl 启动设置(用于环境变量名称参考)


  "iisSettings": 
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": 
      "applicationUrl": "https://localhost:44323/",
      "sslPort": 44323
    
  ,
  "$schema": "http://json.schemastore.org/launchsettings.json",
  "profiles": 
    "IIS Express": 
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": 
        "ASPNETCORE_ENVIRONMENT": "Development",
        "VUE_APP_BEAPI_URL": "http://localhost:4000/api/v1"
      
    
  

vuejs 配置

export default 
    // apiUrl: 'http://localhost:4000/api/v1',
    apiUrl: process.env.VUE_APP_BEAPI_URL,
    access_token:''

【讨论】:

以上是关于asp.net 核心环境变量未传递给 vuejs 配置的主要内容,如果未能解决你的问题,请参考以下文章

ViewData 未传递给 ASP.NET Core 2.1 中的布局

Vuex + VueJS:未定义将计算属性传递给孩子

将一个变量的值从子组件传递给两个父组件,vuejs? nuxt

如何将变量从 axios 获取请求传递给 vuejs 中的子组件?

如何将变量传递给JS文件

asp.net核心未绑定当前用户