webpack打包VUE项目读取外部配置文件,灵活配置域名

  做为一个兼职前端和运维的java程序员,今天我司测试人员提出了一个需求,当后台服务地址ip地址改变后,webpack打包的VUE项目得更改地址从新打包,太麻烦了,最好能够读取外部配置文件的域名,灵活部署。前端

  这不是在刁难我胖虎吗,后来我在网上查资料,发现有解决思路,具体详细的解决方案没有,在和前端同事研究后,解决了该问题,现记录一下,供你们遇到此问题时参考。java

  我司的前端项目我是用nginx部署的,原配置文件prod.env.js代码以下:webpack

  

module.exports = {
  NODE_ENV: '"production"',
  ENV_CONFIG: '"prod"',
  BASE_API: '"http://192.168.1.24:8081"'
}

  在打包成dist文件夹后,确实没法改变地址,解决思路是在VUE项目的static文件夹下建立config.json文件,里面配置后台地址:nginx

"http://192.168.1.21:8081"

  而后就能够在prod.env.js中使用这个地址:程序员

var URL = require('../static/config.json');
console.log(URL)
module.exports = {
  NODE_ENV: '"production"',
  ENV_CONFIG: '"prod"',
  BASE_API: "'"+URL+"'"
}

  经过require引入,这里踩坑了一次,这个URL读出来不是字符串,若是在项目中别的地方引用,如:web

baseUrl: process.env.BASE_API

  引发报错,有两个:符号,页面编译不出来,要把URL变成字符串使用,到此这个需求解决。json

相关文章
相关标签/搜索