vuejs2 - 如何从Quasar框架获取环境变量

标签 vuejs2 quasar

环境变量定义在config/目录prod.env.jsdev.env.js中,如何获取这些变量在 .vue 文件上?

我尝试使用process.env.MY_VAR假设它是nodejs内置库,它给出了一个错误:

[=======             ] 34% (building modules){ SyntaxError: Unexpected token (1:5)

.vue 文件中的最少代码:

<template>
  <q-layout>
    <div class="layout-view">
          <button class="primary" @click="foo">
            <i class="on-left">lock</i> Login
          </button>
    </div>
  </q-layout>
</template>
<script>
  export default {
    data() {
      return { url: '' }
    }
    methods: {
      foo: function() {
        this.url = process.env.MY_VAR // no error if commented
      }
    }
  }
</script>

获取这些环境变量的正确方法是什么?

最佳答案

dev.env.jsprod.env.js 中,您可以编写如下内容:

module.exports = merge(prodEnv, {
  NODE_ENV: '"development"',
  MY_VAR: '"something"'
})

然后您可以在 Quasar 应用代码中使用 process.env.MY_VAR

注意引号+双引号。 Quasar 中的构建过程使用 Webpack 的 DefinePlugin ( https://webpack.js.org/plugins/define-plugin/ ),它需要 JSON 编码值。使用 JSON.stringify() 来获取更复杂的值,例如 JS 对象。

关于vuejs2 - 如何从Quasar框架获取环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43739094/

相关文章:

javascript - VUE watch触发死循环

node.js - 无法读取未定义的属性(读取 'F_OK' )

javascript - VueJS + Quasar 框架 + 谷歌地图 JS API

android - 某些设备上不显示图像(使用 Quasar 框架)

javascript - Quasar q-input 元素在输入更改时不发出事件(vuejs)

javascript - Vue - 带有子输入组件的表单组件

vue.js - 看。如何在创建的元素中获取 "key"属性的值

javascript - 默认选择值在 Vue.js 中不起作用

webpack - Vue.js/webpack 没有创建构建文件?

google-analytics - 如何将 Google 跟踪代码管理器或 Google Analytics 添加到 Quasar SSR 应用程序?