如何从Quasar Framework获取环境变量
How to get environment variable from Quasar Framework
环境变量在config/
目录prod.env.js
和dev.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.js
和 prod.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 对象。
环境变量在config/
目录prod.env.js
和dev.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.js
和 prod.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 对象。