脚手架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 相关文章推荐
利用JQuery的load函数动态加载其它页面的内容的实现代码
Dec 14 Javascript
js实现在页面上弹出蒙板技巧简单实用
Apr 16 Javascript
window.print打印指定div实例代码
Dec 13 Javascript
Chrome扩展页面动态绑定JS事件提示错误
Feb 11 Javascript
jQuery中:first选择器用法实例
Dec 30 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
Aug 11 Javascript
jQuery获取attr()与prop()属性值的方法及区别介绍
Jul 06 Javascript
微信小程序tabBar底部导航中文注解api详解
Aug 16 Javascript
vue 自定义指令自动获取文本框焦点的方法
Aug 25 Javascript
你应该了解的JavaScript Array.map()五种用途小结
Nov 14 Javascript
微信小程序封装多张图片上传api代码实例
Dec 30 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
Sep 07 Javascript
基于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 str_pad() 将字符串填充成指定长度的字符串
2010/02/23 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
2016/03/21 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
通过JS自动隐藏手机浏览器的地址栏实现原理与代码
2013/01/02 Javascript
JS两种定义方式的区别、内部原理
2013/11/21 Javascript
javascript制作的简单注册模块表单验证
2015/04/13 Javascript
理解javascript中的原型和原型链
2015/07/30 Javascript
javascript实现拖放效果
2015/12/16 Javascript
在JavaScript中使用JSON数据
2016/02/15 Javascript
jQuery Easyui加载表格出错时在表格中间显示自定义的提示内容
2016/12/08 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
2016/12/14 Javascript
Javascript前端经典的面试题及答案
2017/03/14 Javascript
基于JavaScript实现类名的添加与移除
2017/04/23 Javascript
Angular 向组件传递模板的两种方法
2018/02/23 Javascript
解决vue数组中对象属性变化页面不渲染问题
2018/08/09 Javascript
vue实现循环切换动画
2018/10/17 Javascript
layUI的验证码功能及校验实例
2019/10/25 Javascript
一篇不错的Python入门教程
2007/02/08 Python
在Python的setuptools框架下生成egg的教程
2015/04/13 Python
Python基于scrapy采集数据时使用代理服务器的方法
2015/04/16 Python
利用Python中SocketServer 实现客户端与服务器间非阻塞通信
2016/12/15 Python
python实现简单图片物体标注工具
2019/03/18 Python
Django之路由层的实现
2019/09/09 Python
解决Python中回文数和质数的问题
2019/11/24 Python
python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
2020/04/07 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
2020/05/15 Python
Python实现异步IO的示例
2020/11/05 Python
Python利用socket模块开发简单的端口扫描工具的实现
2021/01/27 Python
企业办公室岗位职责
2014/03/12 职场文书
社保缴纳证明申请书
2014/11/03 职场文书
城管个人总结
2015/02/28 职场文书
2015年评职称个人工作总结
2015/10/15 职场文书
Java中常用解析工具jackson及fastjson的使用
2021/06/28 Java/Android
在Python 中将类对象序列化为JSON
2022/04/06 Python
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang