强制VueJS静态嵌入不是以VUE_APP_开头的env变量

时间:2019-02-28 15:17:55

标签: node.js vue.js webpack

VueJS documentation中,它声明任何以VUE_APP_开头的环境变量都将被静态地嵌入到客户端包中。我很好奇是否有可能强迫Vue嵌入我告诉它的任何环境变量。

我尝试挂接到vue.config.js中的configureWebpack方法,但这根本不起作用(客户端捆绑包中未显示以下两个env vars):

// vue.config.js
module.exports = {
  configureWebpack: config => {
    config.plugins = [
        ...config.plugins,
        new webpack.DefinePlugin({
          'process.env': {
            TEST: 'HELLO',
            VUE_APP_TEST: 'with prefix'
          }
        })
      ]
  }
}

我尝试直接在vue.config.js文件中设置它们,如文档所述,该文档适用于以VUE_APP_开头的var,但不适用于其他变量:

// vue.config.js
process.env.TEST = 'HELLO'
process.env.VUE_APP_TEST = 'HELLO'

在这一点上,从学术的角度来看,我对此最好奇,因此,如果有人能做到这一点,我很想知道如何做!此外,如果有人对VueJS(以及据我所知的React)为什么要这样做有争议,我很想听听!

0 个答案:

没有答案