Webpack机制、原理简单小结
一、webpack的构成
- entry 代表项目的入口
- module 开发中,每一个文件可以看作一个module
- chunk 代码块
- loader 模块转化器
- plugin 扩展插件,自定义webpack打包过程
- bundle 最终打包完成的文件
二、webpack运行的流程
- 参数初始化。根据配置文件webpack.config.js和shell语句中读取与合并参数
- 开始编译。初始化一个compiler对象,加载所有插件,执行对象的run()方法开始编译。
- 确定入口文件。根据项目配置,找到所有的入口文件。
- 识别模块
- 编译模块(打包代码)。从入口开始,调用配置的loader对模块进行编译。模块编译完成后,得到模块被转化后的最后内容和他们之间的依赖关系。
- 资源输出。根据入口文件和模块的依赖关系 ,组成chunk文件(一个chunk可能包含多个模块),每一个chunk会被转化成一个单独的文件加入输出列表中。
- 输出。根据配置的输出参数(路径和文件名),将输出内容写入文件系统。
总结:可以简单理解为,webpack要做的就是分析代码、转换代码、编译代码、输出代码。
三、本质
webpack是一个机制,一个打包的机制。
参考:
http://imweb.io/topic/59324940b9b65af940bf58ae
https://juejin.im/entry/5b0e3eba5188251534379615
https://juejin.im/post/5adab998f265da0ba5671cea
http://taobaofed.org/blog/2016/09/09/webpack-flow/
https://www.jianshu.com/p/e24ed38d89fd
https://blog.csdn.net/baozhiqiangjava/article/details/80603509
https://zhuanlan.zhihu.com/p/32093510
https://www.cnblogs.com/zhuzhenwei918/p/7265971.html
https://fengmiaosen.github.io/2017/03/21/webpack-core-code/
https://cloud.tencent.com/developer/article/1015527
Webpack机制、原理简单小结的更多相关文章
- Android的Message机制(简单小结)
		对于Android的Message机制主要涉及到三个主要的类,分别是Handler.Message.Looper:首先对每个类做一个简单介绍:然后再介绍所谓的Android的Message机制是如何实 ... 
- java——关于异常处理机制的简单原理和应用
		异常处理机制的简单原理和应用 一.Execption可以分为java标准定义的异常和程序员自定义异常2种 (1)一种是当程序违反了java语规则的时候,JAVA虚拟机就会将发生的错误表示为一个异常.这 ... 
- webpack构建原理和实现简单webpack
		webpack打包原理分析 基础配置,webpack会读取配置 (找到入口模块) 如:读取webpack.config.js配置文件: const path = require("path& ... 
- webpack系列--浅析webpack的原理
		一.前言 现在随着前端开发的复杂度和规模越来越大,鹰不能抛开工程化来独立开发,比如:react的jsx代码必须编译后才能在浏览器中使用,比如sass和less代码浏览器是不支持的.如果摒弃这些开发框架 ... 
- Atitit.软件与编程语言中的锁机制原理attilax总结
		Atitit.软件与编程语言中的锁机制原理attilax总结 1. 用途 (Db,业务数据加锁,并发操作加锁.1 2. 锁得类型 排它锁 "互斥锁 共享锁 乐观锁与悲观锁1 2.1. 自旋锁 ... 
- Atitit.病毒木马的快速扩散机制原理nio 内存映射MappedByteBuffer
		Atitit.病毒木马的快速扩散机制原理nio 内存映射MappedByteBuffer 1. Java NIO(New Input/Output)1 1.1. 变更通知(因为每个事件都需要一个监听者 ... 
- OAuth的机制原理讲解及开发流程
		本想前段时间就把自己通过QQ OAuth1.0.OAuth2.0协议进行验证而实现QQ登录的心得及Demo实例分享给大家,可一直很忙,今天抽点时间说下OAuth1.0协议原理,及讲解下QQ对于Oaut ... 
- ASP.NET运行机制原理
		ASP.NET运行机制原理 一.浏览器和服务器的交互原理 (一).浏览器和服务器交互的简单描述: 1.通俗描述:我们平时通过浏览器来访问网站,其实就相当于你通过浏览器去另一台电脑上访问文件一样,只不过 ... 
- ASP.NET运行机制原理  ---浏览器与IIS的交互过程  自己学习 网上查了下别人写的总结的很好  就转过来了 和自己写的还好里嘻嘻
		一.浏览器和服务器的交互原理 (一).浏览器和服务器交互的简单描述: 1.通俗描述:我们平时通过浏览器来访问网站,其实就相当于你通过浏览器去访问一台电脑上访问文件一样,只不过浏览器的访问请求是由被访问 ... 
随机推荐
- Vue-multiselect详解(Vue.js选择框解决方案)
			github地址:https://github.com/shentao/vue-multiselect 官网链接:https://vue-multiselect.js.org/#sub-getting ... 
- maven jetty 插件 允许修改 js
			<!--允许修改js,css--> <servlet> <servlet-name>default</servlet-name> <init-pa ... 
- lintcode-dfs实现二叉树的层序遍历
			class Solution { /** * @param root: The root of binary tree. * @return: Level order a list of lists ... 
- Restful 3 -- 序列化组件(GET/PUT/DELETE接口设计)、视图优化组件
			一.序列化组件 基于上篇随笔的表结构,通过序列化组件的ModelSerializer设计如下三个接口: GET 127.0.0.1:8000/books/{id} # 获取一条数据,返回值:{} PU ... 
- PIE使IE浏览器支持CSS3属性(圆角、阴影、渐变)
			http://www.360doc.com/content/12/1214/09/11181348_253939277.shtml PIE使IE浏览器支持CSS3属性(圆角.阴影.渐变) 2012-1 ... 
- Python+Selenium----使用HTMLTestRunner.py生成自动化测试报告1(使用IDLE)
			1.说明 自动化测试报告是一个很重要的测试数据,网上看了一下,使用HTMLTestRunner.py生成自动化测试报告使用的比较多,但是呢,小白刚刚入手,不太懂,看了很多博客,终于生成了一个测试报告, ... 
- docker nginx部署.net core后端站点和angular前端站点
			首先声明,服务器是linux 版本是ubuntu server 18.04,不是windows server.windows server 2016放弃治疗了,2019可能会有改善,不过云厂商的公共镜 ... 
- 修改response,报错Cannot call getWriter(), getOutputStream() already called
			往response里面改数据,然后系统报这个错 此时直接return null即可解决 但是,要想返回相应的页面呢? 可以直接在response里设置返回的页面 
- 【心得】asp.net  异常:正在中止线程   引发的问题
			asp.net做的一个同步程序,同步的方法是通过JQuery的Ajax调用,同步过程所需要的时间大概有几个小时吧. 当在本机运行的时候,无论是debug模式还是release模式,都能正常运行. 发布 ... 
- elasticsearch报错:None of the configured nodes are available: []
			问题:在内网测试的时候可以正常访问,但是部署到外网上客户端连接elasticsearch报错:None of the configured nodes are available: [] 原因:默认情 ... 
