摘要:传送门针对解决的问题接口环境很多,有测试服,有,有正式等等,每次都要修改代码静态资源可能要存到中,这也要修改代码吗修改配置文件只需要修改环境列表,第一个环境为默认环境指明现在使用的环境打包的路径,只在的时候有用这个环境下面的请求的域
multi-hostname-vue-cli
github传送门
针对解决的问题接口环境很多,有测试服,有qa,有正式等等,每次都要修改代码?no!
静态资源可能要存到cdn中,这也要修改代码吗?no!
Start up clone && npm install 修改配置文件 /config/host-config.js,只需要修改 ENV_LIST/* * 环境列表,第一个环境为默认环境 * envName: 指明现在使用的环境 * dirName: 打包的路径,只在build的时候有用 * apiHostname: 这个环境下面的api 请求的域名 * assetHostname: 静态资源存放的域名,未指定(undefined)则为相对路径 * */ const ENV_LIST = [ { envName: "test", dirName: "test", apiHostname: "http://test_apiHostname", assetHostname: "http://localhost:3004" }, { envName: "pro", dirName: "pro", apiHostname: "http://product_apiHostname", assetHostname:"http://product_assetHostname" }, { envName: "qa", dirName: "qa", apiHostname: "http://product_apiHostname", assetHostname:"http://product_assetHostname" } ]在文件中使用hostname
const HOST_NAME = process.env.HOST_NAME export {HOST_NAME}dev 开发调试
npm run dev [envName]
envName 为上面配置的envName,对应的process.env.HOST_NAME的值就是 对应的ENV_LIST中的hostname
不指定envName默认选择ENV_LIST的第一个值
envName 不在ENV_LIST 中的时候默认选择 ENV_LIST的第一个值
# 例子: # 在qa的环境中调试,process.env.HOST_NAME === "http://qa_hostname" npm run dev qabuild 打包
npm run build [envName] //打指定环境的包
npm run build-all // 全部重新打包
打包的envName与 dev类似
执行打包命令会在dist文件夹中生成对应的路径
html和css中使用过的静态资源的引用路径会指定到设定的域名中
dist |-test |-qa |-pro对比vue-cli生成的环境修改的地方 新增 /config/host-conf.js
修改 /config/index.jshost-conf.js
修改build的路径
修改build的静态资源的路径
修改 `/build/webpack.base.conf.js添加 用户客户端的环境变量
// 通过webpack传入客户端中 plugins: [ new webpack.DefinePlugin({ "process.env.HOST_NAME": """ + process.env.HOST_NAME + """ }) ]入口build/build.js和build/dev-server.js设置环境变量
// 设置域名的环境变量 process.env.HOST_ENV = process.argv[2]新增 build/build-all.js
修改package.json的script, 增加Build-allhost-conf.js
"build-all": "node build/build-all.js"
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/84053.html
摘要:同时增加了单元测试,使用了,增加了可视化配置权限,增加了自定义布局等等,优化了原先的权限方案,支持不刷新页面更新路由等等功能。虽然它的初衷是为了单元测试的,但正好满足了我们的需求。它会重写浏览器的对象,从而才能拦截所有请求,代理到本地。 前言 vue-element-admin 从 2017.04.17提交第一个 commit 以来,维护至今已经有两年多的时间了了,发布了四十多个版本,...
摘要:同时增加了单元测试,使用了,增加了可视化配置权限,增加了自定义布局等等,优化了原先的权限方案,支持不刷新页面更新路由等等功能。虽然它的初衷是为了单元测试的,但正好满足了我们的需求。它会重写浏览器的对象,从而才能拦截所有请求,代理到本地。前言 vue-element-admin 从 2017.04.17提交第一个 commit 以来,维护至今已经有两年多的时间了了,发布了四十多个版本,收获了三...
摘要:当然,这只是结合自己项目的工程结构和特点设置的一套使用方式,仅供参考开发富文本编辑器的教训由于项目的时间较紧张,我在页面上应用了框架的背景下,想当然的想要把也应用于富文本编辑器的开发,事实证明这是不太可行的。 此文已由作者刘诗川授权网易云社区发布。 欢迎访问网易云社区,了解更多网易技术产品运营经验。 最近我们的产品有一个需求是要在PC端做一个面向用户的书评编辑器,让用户和编辑在蜗牛读书...
摘要:以为例,编写来帮助我们完成重复的工作编译压缩我只要执行一下就可以检测到文件的变化,然后为你执行一系列的自动化操作,同样的操作也发生在这些的预处理器上。的使用是针对第三方类库使用各种模块化写法以及语法。 showImg(https://segmentfault.com/img/bVbtZYK); 一:前端工程化的发展 很久以前,互联网行业有个职位叫做 软件开发工程师 在那个时代,大家可能...
摘要:豹哥对于刚开始小白的自己虽然现在也白知无不谈,而且回复超快超认真。这里真的很感谢豹哥。是项目启动时的一些文件,如的配置文件开发环境服务配置文件一些简单工具函数等等。是关于整个项目的环境配置包括开发与生产。 前言 作者去年就开始使用webpack, 最早的接触就来自于vue-cli。那个时候工作重点主要也是 vue 的使用,对webpack的配置是知之甚少,期间有问题也是询问大牛 @吕大...
阅读 2943·2023-04-26 01:52
阅读 3469·2021-09-04 16:40
阅读 3632·2021-08-31 09:41
阅读 1766·2021-08-09 13:41
阅读 559·2019-08-30 15:54
阅读 2961·2019-08-30 11:22
阅读 1614·2019-08-30 10:52
阅读 949·2019-08-29 13:24