我使用创造了一个Vue公司的应用程序vue/cli
:vue create my-vue
。我想在此建项目的next
模式(如qa
,stage
,next
...),所以我也跟着在Vue公司的文档的步骤。我.env.next
在根项目中使用以下内容创建了文件:
FOO=next
在我的main.js
,我将其记录到控制台:
import Vue from 'vue'
import App from './App.vue'
console.log({ f: process.env.FOO }); // <----- undefined. why?
console.log({ f: process.env.VUE_APP_FOO }); // <----- undefined. why?
Vue.config.productionTip = false
new Vue({
render: h => h(App),
}).$mount('#app')
之后,我运行构建:
npm run build -- --mode next
当我在控制台中运行dist文件夹时,我得到了undefined
。我搜索了捆绑包中的“下一个”,但它不存在。
为什么?如何.env
在构建输出中使用vars?
如您所链接的文档中所述:
请注意,只有
NODE_ENV
,BASE_URL
和变量与启动VUE_APP_
将被静态地嵌入到客户端包带webpack.DefinePlugin
。这是为了避免在机器上意外公开可能具有相同名称的私钥。
为了FOO
在构建输出中可用,请将其重命名为VUE_APP_FOO
您的.env
文件,并相应地更新引用:
console.log({ f: process.env.VUE_APP_FOO })
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句