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 相关文章推荐
简单实用的js调试logger组件实现代码
Nov 20 Javascript
jquery 查找select ,并触发事件的实现代码
Mar 30 Javascript
使用javascript获取flash加载的百分比的实现代码
May 25 Javascript
javascript阻止浏览器后退事件防止误操作清空表单
Nov 22 Javascript
JavaScript获取某年某月的最后一天附截图
Jun 23 Javascript
javascript模拟评分控件实现方法
May 13 Javascript
整理Javascript基础入门学习笔记
Nov 29 Javascript
jquery 无限极下拉菜单的简单实例(精简浓缩版)
May 31 Javascript
JavaScript原型继承_动力节点Java学院整理
Jun 30 Javascript
element-ui使用导航栏跳转路由的用法详解
Aug 22 Javascript
React 项目迁移 Webpack Babel7的实现
Sep 12 Javascript
vue 中基于html5 drag drap的拖放效果案例分析
Nov 01 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
thinkphp获取栏目和文章当前位置的方法
2014/10/29 PHP
PHP实现通过URL提取根域名
2016/03/31 PHP
PHP实现对xml的增删改查操作案例分析
2017/05/19 PHP
laravel获取不到session的三种解决办法【推荐】
2018/09/16 PHP
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
jQuery对Select的操作大集合(收藏)
2013/12/28 Javascript
js判断当前浏览器类型,判断IE浏览器方法
2014/06/02 Javascript
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
javascript多行字符串的简单实现方式
2015/05/04 Javascript
jQuery基于Ajax方式提交表单功能示例
2017/02/10 Javascript
js清除浏览器缓存的几种方法
2017/03/15 Javascript
bootstrap时间控件daterangepicker使用方法及各种小bug修复
2017/10/25 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
2018/03/05 Javascript
vue-cli webpack 引入swiper的操作方法
2018/09/15 Javascript
微信小程序与后台PHP交互的方法实例分析
2018/12/10 Javascript
node.js制作一个简单的登录拦截器
2020/02/10 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
2020/07/26 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
2020/11/06 Javascript
Python切换pip安装源的方法详解
2016/11/18 Python
Flask框架的学习指南之开发环境搭建
2016/11/20 Python
Python绑定方法与非绑定方法详解
2017/08/18 Python
Python简单基础小程序的实例代码
2019/04/28 Python
Numpy之reshape()使用详解
2019/12/26 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
html5的自定义data-*属性与jquery的data()方法的使用
2014/07/02 HTML / CSS
Omio西班牙:全欧洲低价大巴、火车和航班搜索和比价
2017/02/11 全球购物
艺术家策划的室内设计:Curious Egg
2019/03/06 全球购物
致跳远运动员加油稿
2014/02/11 职场文书
公司授权委托书格式样本
2014/10/01 职场文书
国际残疾人日广播稿范文
2014/10/09 职场文书
开票证明
2015/06/23 职场文书
环保宣传语大全
2015/07/13 职场文书
2015大学迎新晚会策划书
2015/07/16 职场文书
党员廉政准则心得体会
2016/01/20 职场文书
总结Python常用的魔法方法
2021/05/25 Python