Webpack框架核心概念(知识点整理)


Posted in Javascript onDecember 22, 2017

webpack是什么

webpack是一个前端构建的打包工具(并不是什么库或框架), 它能把各种资源,例如JS(含JSX)、coffee、css(含less/sass)、图片等都作为模块来处理和使用。

Webpack框架核心概念(知识点整理)

1.基础知识点

1.1 webpack 是一个现代 JavaScript 应用程序的模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。

1.2webpack的四个核心概念:

1.2.1 entry(入口):entry point,入口起点(可以有多个),webpack会从该起点出发,找出哪些文件时入口文件所依赖的,从而构建内部依赖关系图,并处理后输出到称之为bundles的文件中

1.2.2 output(输出):指定经entry point处理后的bundles文件的输出路径(path)和名字(filename)

1.2.3 loader(加载器):用来处理非JS文件,可以将所有文件转换成webpack可以处理的模块,然后交给webpack进行打包等处理;webpack loader 本质上讲是将所有类型的文件转化为应用程序的依赖图可以直接引用的模块,其有两个目标:

1.2.3.1 使用test属性,识别出对应于 loader 的可转换文件

1.2.3.2 使用use属性将这些文件进行转换,使其被添加到依赖图中,并且最终会添加到 bundle 中

如果要在 webpack 配置中定义 loader ,要在 module.rules 中定义,而不是 rules

1.2.4 plugins(插件):从打包优化和压缩,一直到重新定义环境中的变量。插件接口功能极其强大,可以处理各种各样的任务

使用一个插件只需要 require() 它,然后把它添加到 plugins 数组中就行。多数插件可以通过选项(option)自定义。你也可以在一个配置文件中因为不同目的而多次使用同一个插件,这时需要通过使用 new 操作符来创建它的一个实例。

webpack 提供许多开箱可用的插件!查阅插件列表获取更多信息,更详细的图文请参阅官方文档 https://doc.webpack-china.org/concepts/。

总结

以上所述是小编给大家介绍的Webpack框架核心概念(知识点整理),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木的支持!

Javascript 相关文章推荐
漂亮的widgets,支持换肤和后期开发新皮肤(2007-4-27已更新1.7alpha)
Apr 27 Javascript
基于jquery+thickbox仿校内登录注册框
Jun 07 Javascript
jquery表格内容筛选实现思路及代码
Apr 16 Javascript
在linux中使用包管理器安装node.js
Mar 13 Javascript
Jquery检验手机号是否符合规则并根据手机号检测结果将提交按钮设为不同状态
Nov 26 Javascript
前端框架Vue.js构建大型应用浅析
Sep 12 Javascript
KnockoutJS 3.X API 第四章之click绑定
Oct 10 Javascript
详解vue组件通信的三种方式
Jun 30 Javascript
JS按钮闪烁功能的实现代码
Jul 21 Javascript
Vue实现数字输入框中分割手机号码的示例
Oct 10 Javascript
Vue中多元素过渡特效的解决方案
Feb 05 Javascript
关于angular浏览器兼容性问题的解决方案
Jul 26 Javascript
详解webpack+express多页站点开发
Dec 22 #Javascript
如何开发出更好的JavaScript模块
Dec 22 #Javascript
详解webpack提取第三方库的正确姿势
Dec 22 #Javascript
利用JS判断客户端类型你应该知道的四种方法
Dec 22 #Javascript
JavaScript伪数组用法实例分析
Dec 22 #Javascript
JavaScript中Object值合并方法详解
Dec 22 #Javascript
Angular简单验证功能示例
Dec 22 #Javascript
You might like
最小化数据传输――在客户端存储数据
2006/10/09 PHP
PHP setTime 设置当前时间的代码
2012/08/27 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
PHP面向对象教程之自定义类
2014/06/10 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
2015/05/13 PHP
PHP将整数数字转换为罗马数字实例分享
2019/03/17 PHP
PHP7 新增功能
2021/03/09 PHP
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
js通过iframe加载外部网页的实现代码
2015/04/05 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
html中鼠标滚轮事件onmousewheel的处理方法
2016/11/11 Javascript
Redux 和 Mobx的选择问题:让你不再困惑!
2017/09/18 Javascript
vue-resource + json-server模拟数据的方法
2017/11/02 Javascript
vue.js的简单自动求和计算实例
2019/11/08 Javascript
jQuery实现高度灵活的表单验证功能示例【无UI】
2020/04/30 jQuery
[48:38]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs Secret
2018/03/31 DOTA
[53:10]完美世界DOTA2联赛决赛日 FTD vs GXR 第二场 11.08
2020/11/11 DOTA
python matplotlib中文显示参数设置解析
2017/12/15 Python
Python实现通过继承覆盖方法示例
2018/07/02 Python
Python3实现的旋转矩阵图像算法示例
2019/04/03 Python
Python调用C语言的实现
2019/07/26 Python
python安装本地whl的实例步骤
2019/10/12 Python
python 使用opencv 把视频分割成图片示例
2019/12/12 Python
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
Intersport西班牙:在线体育商店
2019/11/06 全球购物
自我评价范文分享
2014/01/04 职场文书
采购求职信
2014/03/17 职场文书
医院合作协议书
2014/08/19 职场文书
职业生涯规划书怎么写?
2014/09/14 职场文书
2014年保管员工作总结
2014/11/18 职场文书
2014年绿化工作总结
2014/12/09 职场文书
员工工作能力评语
2014/12/31 职场文书
人民检察院起诉书
2015/05/20 职场文书
小学一年级班主任工作经验交流材料
2015/11/02 职场文书
施工安全责任协议书
2016/03/23 职场文书