Vue 构建项目写入配置文件
获取命令行参数
读取 Node 命令行的参数:
// getArgList.js 获取参数列表 module.exports = function getArgList() { let argvs const res = {} try { argvs = JSON.parse(process.env.npm_config_argv).original } catch (ex) { argvs = process.argv } const argv = argvs.slice(2) for (const i in argv) { const key = argv[i].match(/--(\S*)=/)[1] const value = argv[i].split('=')[1] res[key] = value } return res }
将命令行参数写入文件
新建一个 client.js
脚本文件,将读取到的命令行参数写入 setting.js
文件:
// client.js const fs = require('fs') const path = require('path') const argList = require('./getArgList')() // 构建配置参数 const site_url = argList.site_url || 'chanshiyu.com' const site_id = argList.site_id || '500' module.exports = { setStart() { this.setSetting() }, setSetting() { console.log('argList==>', argList) const setting = { site_url, site_id } console.log('setting==>', setting) fs.writeFileSync( path.resolve(__dirname, '../public/setting.js'), 'var setting = ' + JSON.stringify(setting) ) } }
执行并引入
在 vue.config.js
中引入并执行构建脚本:
// vue.config.js const client = require('./build/client') client.setStart()
最后在 index.html
中引入生成的配置文件:
<script src="<%= BASE_URL %>setting.js?<%=Date.now()%>"></script>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: 前后端接入阿里云盾
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
更多
发布评论