脚手架vue-cli工程webpack的作用和特点


Posted in Javascript onSeptember 29, 2018

Vue项目开发过程中,会因为很多不同的实际运用需求不断地对webpack配置进行修改,在此之前,我们需要对webpack有一个基本的认识,了解它到底能为我们做些什么

webpack是一个模块打包的工具,它的作用是把互相依赖的模块处理成静态资源,如下图所示。.

脚手架vue-cli工程webpack的作用和特点

webpack的作用:

●把依赖树按需分割;

●把初始加载时间控制在较低的水平;

●每个静态资源都应该成为一个模块;

●能把第三方库集成到项目里成为一个模块;

●能定制模块打包器的每个部分;

●能适用于大型项目。

webpack的特点:

●    代码分割

在webpack的依赖树里有两种类型的依赖:同步依赖和异步依赖。异步依赖会成为一个代码分割点,并且组成一个新的代码块。在代码块组成的树被优化之后,每个代码块都会保存在一个单独的文件里。

●加载器

webpack原生是只能处理JavaScript的,而加载器的作用是把其他的代码转换成JavaScript代码,这样一来所有种类的代码都能组成一个模块,也就是说,我们可以在代码内通过import将webpack打包的资源以模块的方式引入到程序中。

以下是Vue项目中常用到的加载器(它们都是以NPM库形式提供的):

vue-loader——用于加载与编译*.vue文件;

vue-style-loader——用于加载*.vue文件中的样式;

style-loader——用于将样式直接插入到页面的<style>内;

css-loader——用于加载*.css样式表文件;

less-loader——用于编译与加载*.less文件(需要依赖于less库);

babel-loader——用于将ES6编译成为浏览器兼容的ES5;

file-loader——用于直接加载文件;

url-loader——用于加载URL指定的文件,多用于字体与图片的加载;

json-loader——用于加载*.json文件为JS实例。

●  智能解析

webpack的智能解析器能处理几乎所有的第三方库,它甚至允许依赖里出现这样的表达式:

require("./components/"+ name + ".vue")

这一点恰恰是browserify不能做到的。

它能处理大多数的模块系统,比如说CommonJS和AMD。

●插件系统

webpack有丰富的插件系统,大多数内部的功能都是基于这个插件系统的。这也使得我们可以定制webpack,把它打造成能满足我们需求的工具,并且把自己做的插件开源出去。

总结

以上所述是小编给大家介绍的vue-cli工程webpack的作用和特点,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Javascript开发之三数组对象实例介绍
Nov 12 Javascript
Jquery多选框互相内容交换的实例代码
Jul 04 Javascript
js禁止回车提交表单的示例代码
Dec 23 Javascript
jquery中获得元素尺寸和坐标的方法整理
May 18 Javascript
网页实时显示服务器时间和javscript自运行时钟
Jun 09 Javascript
JavaScript的null和undefined区别示例介绍
Sep 15 Javascript
使用JavaScript实现连续滚动字幕效果的方法
Jul 07 Javascript
JS实现的自动打字效果示例
Mar 10 Javascript
echarts实现词云自定义形状的示例代码
Feb 20 Javascript
vue 详情跳转至列表页实现列表页缓存
Mar 27 Javascript
微信小程序开发摇一摇功能
Nov 22 Javascript
vue 表单输入框不支持focus及blur事件的解决方案
Nov 17 Vue.js
基于vue和react的spa进行按需加载的实现方法
Sep 29 #Javascript
使用Vuex解决Vue中的身份验证问题
Sep 28 #Javascript
js限制输入框只能输入数字(onkeyup触发)
Sep 28 #Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
Sep 28 #Javascript
js实现点击展开隐藏效果(实例代码)
Sep 28 #Javascript
javascript中toFixed()四舍五入使用方法详解
Sep 28 #Javascript
对vue中v-if的常见使用方法详解
Sep 28 #Javascript
You might like
PHP在特殊字符前加斜杠的实现代码
2011/07/17 PHP
php中多维数组按指定value排序的实现代码
2014/08/19 PHP
php实现的微信红包算法分析(非官方)
2015/09/25 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
Javascript开发包大全整理
2006/12/22 Javascript
“不能执行已释放的Script代码”错误的原因及解决办法
2007/09/09 Javascript
javascript奇异的arguments分析
2010/10/20 Javascript
CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法
2012/03/29 Javascript
如何让页面加载完成后执行js
2013/06/26 Javascript
JavaScript获取某年某月的最后一天附截图
2014/06/23 Javascript
jQuery实现类似老虎机滚动抽奖效果
2015/08/06 Javascript
javascript中offset、client、scroll的属性总结
2015/08/13 Javascript
jQuery fadeOut 异步实例代码详解
2016/08/18 Javascript
js实现无缝循环滚动
2020/06/23 Javascript
js实现弹窗居中的简单实例
2016/10/09 Javascript
浅谈Javascript事件对象
2017/02/05 Javascript
Javascript中的prototype与继承
2017/02/06 Javascript
JS实现课堂随机点名和顺序点名
2017/03/09 Javascript
通过cordova将vue项目打包为webapp的方法
2019/02/02 Javascript
基于Angular 8和Bootstrap 4实现动态主题切换的示例代码
2020/02/11 Javascript
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
2020/03/20 jQuery
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
2020/12/25 Vue.js
Python脚本文件打包成可执行文件的方法
2015/06/02 Python
Python中turtle作图示例
2017/11/15 Python
Python2.7+pytesser实现简单验证码的识别方法
2017/12/29 Python
Python自动抢红包教程详解
2019/06/11 Python
pycharm设置python文件模板信息过程图解
2020/03/10 Python
解决Keras自带数据集与预训练model下载太慢问题
2020/06/12 Python
加拿大大码女装购物网站:Penningtons
2020/12/26 全球购物
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
2016/08/13 面试题
营销主管自我评价怎么写
2013/09/19 职场文书
公证委托书大全
2014/04/04 职场文书
领导干部学习心得体会
2016/01/23 职场文书
学习型家庭事迹材料(2016精选版)
2016/02/29 职场文书
mysql中如何用命令创建联合唯一索引
2022/04/20 MySQL
Spring Data JPA框架自定义Repository接口
2022/04/28 Java/Android