javascript - 根据 nuxt.config.js 中的服务器创建动态环境变量

标签 javascript vue.js nuxt.js

我在 nuxt.config.js 文件中添加了以下 ENV 数据

env: {
      apiUrl: 'http://mywebsite.local/api/',
      webUrl: 'http://mywebsite.local/',

      apiUrl: 'https://mywebsite.live/api/',
      webUrl: 'https://mywebsite.live/'
},

根据环境,我保留了两行注释。因此,当我在本地工作时,我用 mywebsite.live url 注释这两行。当文件上传到服务器时,我用 url mywebsite.local 注释这两行。

我想要做的是代码应该检测站点是在本地运行还是在服务器上运行,并基于此使用 ENV 配置。我怎样才能做到这一点?

最佳答案

您可以使用此环境变量来判断您是处于生产还是开发:process.env.NODE_ENV,您可以在以下位置使用它三元运算符来解决您的问题。

env: {
  apiUrl: process.env.NODE_ENV === "production" ? 'https://mywebsite.live/api/' : 'http://mywebsite.local/api/',
  webUrl: process.env.NODE_ENV === "production" ? 'https://mywebsite.live/' : 'http://mywebsite.local/'
}

关于javascript - 根据 nuxt.config.js 中的服务器创建动态环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57693388/

相关文章:

javascript - 为什么我不能将服务器的日期时间传递给我的本地 jquery 脚本?

javascript - vue.js 中的递增和重新渲染 : bug or feature?

javascript - 如何检测设备模式仿真?

javascript - 以 MM/DD/YYYY 格式查找下一个最接近的日期 JavaScript

javascript - Vuetify 在数据表单元格内使用 v-html

vue.js - 与 RequireJS 结合使用时出现“Vue 未定义”问题

vue.js - Nuxt fetch 中的 Vuex 操作 "not a function"

vue.js - 从 JS 文件访问 Nuxt 存储(在模块模式下)

laravel - nuxtjs 如何/在哪里设置授权 header

javascript - 由一组正方形组成的剪辑路径