VUE-CLI配置自动生成环境变量

守給你的承諾、 提交于 2020-01-23 00:21:24

vue-cli配置.env执行项目后自动同步static/config.js文件

  1. 下载dotenv依赖包,执行命令:
npm install dotenv
  1. 在根目录下创建.env文件,内容如下:
WEB_SOCKET = '192.168.1.111'
  1. 在build文件夹下新建zpreface.js文件,内容如下:
const fs = require('fs')
const path = require('path')

const env = path.join(__dirname, '../.env')
const out = path.join(__dirname, '../static/config.js')

const script = function (env_file = env, out_file = out) {
  const {
    parsed
  } = require('dotenv').config({
    path: env_file
  })
  fs.writeFileSync(out_file, `window.zPreface = '${parsed.WEB_SOCKET}'`)
}

script();

module.exports = script


  1. 在static文件加下创建config.js,内容如下:
window.zPreface = '192.168.1.111'(此内容是根据.env自动生成,打包后可更改)
  1. 查看根目录下的package.json文件里的scripts/dev、build内容路径,如下图
    在这里插入图片描述
    找到dev、build路径下的文件写入以下代码:
require('./zpreface')()
  1. 最后一步,在index.html文件里引入static/config.js文件:
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>mydemo</title>
    <script src="/static/config.js"></script>
  </head>
  <body>
    <div id="app"></div>
    <!-- built files will be auto injected -->
  </body>
</html>

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!