通过vue-cli来学习修改Webpack多环境配置和发布问题


Posted in Javascript onDecember 22, 2017

Vue之所以现在如此之火热,一部分也得益于有官方的脚手架生成工具Vue-cli,大大简化了初学者环境搭建的成本,但是实际业务中我们往往需要实现其他的功能来对webpack进行改造,本文将会根据一些实际的业务需求,先学习vue-cli生成的模版,然后在进行相关修改。

Vue-cli生成模版文件目录

├── README.md
├── build
│ ├── build.js
│ ├── check-versions.js
│ ├── dev-client.js
│ ├── dev-server.js
│ ├── utils.js
│ ├── webpack.base.conf.js
│ ├── webpack.dev.conf.js
│ └── webpack.prod.conf.js
├── config
│ ├── dev.env.js
│ ├── index.js
│ └── prod.env.js
├── index.html
├── package.json
├── src
│ ├── App.vue
│ ├── assets
│ │ └── logo.png
│ ├── components
│ │ └── Hello.vue
│ └── main.js
└── static

本文主要关注的点在

build - 编译任务的代码

config - webpack 的配置文件

package.json - 项目的基本信息

具体每一行webpack的配置的含义这里就不详细介绍了,请参考 vue2.0脚手架的webpack 配置文件分析

常见需求一:多环境配置和发布

Vue-cli生成的模版,只配置了npm run dev , npm run build 这行脚本,分别去启动开发环境服务和,执行打包。 而往往正常的公司开发流程最少都会有开发、测试仿真、生产环境,而每个环境响应的服务器请求地址,或者一些配置参数都会不同,并且发布的时候需要发布到多台服务器上,所以需要执行自动化脚本来进行。构建和发布。

我们首先得弄清楚这个问题,转载一段文章,作者:郑海波,链接,来源:知乎

这个其实和vue 无关,是一个通用问题:即代码在哪里构建。如果题主的服务器指的是运行服务器,那其实两种都不是好选择。很多新人包括我工作前都以为部署代码是这样的

通过vue-cli来学习修改Webpack多环境配置和发布问题

但实际上在较大的互联网公司会麻烦一些。以下介绍都是常见做法,并简化了一些流程,仅仅只是为了方便新人理解。代码提交到git或svn服务器注意这里是源文件,不是build后的文件

通过vue-cli来学习修改Webpack多环境配置和发布问题

2. 构建服务器会从git服务器中拉去要发布的代码版本在这里完成安装依赖,如题主的vue。并构建用于部署的文件,这些文件一般也会被压缩成一个压缩包用于管理

通过vue-cli来学习修改Webpack多环境配置和发布问题

3. 构建后的发布包会被上传到中转站:文件管理服务器集群

通过vue-cli来学习修改Webpack多环境配置和发布问题

4. 实际运行的服务器一般不会是单台,而是集群,这n台服务器会从文件服务器中拉去对应版本的相同压缩包,并解压最终运行

 通过vue-cli来学习修改Webpack多环境配置和发布问题

实际上,这里有明显的前后顺序的流程在里面,如果都是手动操作的话会非常麻烦,所以一般大公司里都会有一个自动部署平台来全局统筹完成这些工作,作为开发者其实只需要点下『一键部署』就完成以上内容了

通过vue-cli来学习修改Webpack多环境配置和发布问题

如在配合gitlab、github这类提供的webhook自动通知自动部署平台,稳定版本的代码已经完成推送了(Push Event)。那我们就连点一下按钮都不需要了。这是个典型的构建部署分离的Case,带来的好处非常多,比如确保构建的是一份代码,避免多环境构建导致不一致的可能性构建一般是个高开销的行为,可能会引起运行服务器的不稳定可以快速回滚或回复,相同版本的代码无需重构构建。。。

讲了这么多所以,打包构建并不是一个简单的事情,所以需要自动化工具来配置,已有的成熟的方案就是docker 构建一个应用容器引擎来构建,发布等。不过这块我也不熟悉,有会的同学可以进行分享。

总结

以上所述是小编给大家介绍的Webpack多环境配置和发布问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木的支持!

Javascript 相关文章推荐
检测是否已安装 .NET Framework 3.5的js脚本
Feb 14 Javascript
表单元素事件 (Form Element Events)
Jul 17 Javascript
JS面向对象编程之对象使用分析
Aug 19 Javascript
多个js与css文件的合并方法详细说明
Dec 26 Javascript
JavaScript中apply方法的应用技巧小结
Sep 29 Javascript
JS文件/图片从电脑里面拖拽到浏览器上传文件/图片
Mar 08 Javascript
Bootstrap禁用响应式布局的实现方法
Mar 09 Javascript
jQueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数
Jun 13 jQuery
前端必备插件之纯原生JS的瀑布流插件Macy.js
Nov 22 Javascript
详解基于Node.js的HTTP/2 Server实践
May 31 Javascript
JS中call和apply函数用法实例分析
Jun 20 Javascript
解决vue router组件状态刷新消失的问题
Aug 01 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
Dec 22 #Javascript
Webpack框架核心概念(知识点整理)
Dec 22 #Javascript
详解webpack+express多页站点开发
Dec 22 #Javascript
如何开发出更好的JavaScript模块
Dec 22 #Javascript
详解webpack提取第三方库的正确姿势
Dec 22 #Javascript
利用JS判断客户端类型你应该知道的四种方法
Dec 22 #Javascript
JavaScript伪数组用法实例分析
Dec 22 #Javascript
You might like
PHP 杂谈《重构-改善既有代码的设计》之四 简化条件表达式
2012/04/09 PHP
thinkphp实现数组分页示例
2014/04/13 PHP
个人写的PHP验证码生成类分享
2014/08/21 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
实例分析PHP中PHPMailer发邮件
2017/12/13 PHP
php 使用mpdf实现指定字段配置字体样式的方法
2019/07/29 PHP
jQuery滚动加载图片效果的实现
2013/03/06 Javascript
JavaScript通过RegExp实现客户端验证处理程序
2013/05/07 Javascript
js 控制图片大小核心讲解
2013/10/09 Javascript
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
2013/12/06 Javascript
javascript 实现map集合
2015/04/03 Javascript
js实现图片上传并正常显示
2015/12/19 Javascript
关于vue.extend和vue.component的区别浅析
2017/08/16 Javascript
vue商城中商品“筛选器”功能的实现代码
2020/07/01 Javascript
原生JS实现音乐播放器的示例代码
2021/02/25 Javascript
python实现字符串和字典的转换
2018/09/29 Python
python使用参数对嵌套字典进行取值的方法
2019/04/26 Python
Python 实用技巧之利用Shell通配符做字符串匹配
2019/08/23 Python
python中@property和property函数常见使用方法示例
2019/10/21 Python
python pycharm最新版本激活码(永久有效)附python安装教程
2020/09/18 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
Django 多对多字段的更新和插入数据实例
2020/03/31 Python
Python Numpy中数据的常用保存与读取方法
2020/04/01 Python
Python爬虫之Selenium下拉框处理的实现
2020/12/04 Python
详解css position 5种不同的值的用法
2019/07/30 HTML / CSS
html5 localStorage本地存储_动力节点Java学院整理
2017/07/06 HTML / CSS
HTML5边玩边学(1)画布实现方法
2010/09/21 HTML / CSS
浅谈html5之sse服务器发送事件EventSource介绍
2017/08/28 HTML / CSS
高中毕业生生活的自我评价
2013/12/08 职场文书
2014国培学习感言
2014/03/05 职场文书
安全生产月活动总结
2014/05/04 职场文书
社区关爱留守儿童活动方案
2014/08/22 职场文书
2014年行风建设工作总结
2014/12/01 职场文书
物业保洁员岗位职责
2015/02/13 职场文书
2015小学教师德育工作总结
2015/05/12 职场文书
开学典礼观后感
2015/06/15 职场文书