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.通俗描述:我们平时通过浏览器来访问网站,其实就相当于你通过浏览器去访问一台电脑上访问文件一样,只不过浏览器的访问请求是由被访问 ...
随机推荐
- spring data之JDBCTemplate学习笔记
一.spring 数据访问哲学 1.为避免持久化的逻辑分散在程序的各个组件中,数据访问的功能应到放到一个或多个专注于此的组件中,一般称之为数据访问对象(data access object,DAO). ...
- Django反向解析与分组命名
1.图书管理系统中使用分组或命名分组.URL的命名和反向解析: 2.删除功能三合一: urls.py文件 from app_book import views urlpatterns = [ url( ...
- 带图片的word快速插入到博客中
最近在博客中写文章的时候,最烦的就是将word文档整体传到博客中,不能一次把图片粘贴上去,再次去添加图片的时候要截图还要找对位置才可上传,偶尔的机会在网上看到有人这么处理,挺好用的,这里我也做个备注. ...
- Ubuntu14.04下sogou输入法的输入框只显示英文不显示中文的问题
解决方法:首先强制更新,把依赖文件全部安装 sudo apt-get install -f 如果仍然不管用,删除sogou的配置文件,在~/.config目录下,一般情况下是SogouPY.Sogou ...
- Git bash 生产 ssh key
ssh-keygen -t rsa -C "youremail@example.com"
- (转)Linux系统基础网络配置老鸟精华篇
Linux系统基础网络配置老鸟精华篇 原文:http://blog.51cto.com/oldboy/784625 对于linux高手看似简单的网络配置问题,也许要说出所以然来也并不轻松,因此仍然有太 ...
- (四)Redis主从复制(单机版,不集群)
持久化保证了即使redis服务重启也不会丢失数据,因为redis服务重启后会将硬盘上持久化的数据恢复到内存中,但是当redis服务器的硬盘损坏了可能会导致数据丢失,如果通过redis的主从复制机制就可 ...
- C# EF 生成1-20随机数,生成10个,不能重复 LINQ写法
, ).Select(x => ).ToList(); foreach (var i in num) { Console.WriteLine(i); } 上面的函数碉堡天了
- 转---JS 获取鼠标左右键
原文:http://blog.csdn.net/mine3333/article/details/7291557 function test() { alert(event.x+" &quo ...
- KBEngine warring项目源码阅读(一) 项目简介和注册
首先介绍下warring项目,是kbe自带的一个演示示例,大部分人了解kbe引擎也是从warring项目开始的. 项目地址:https://github.com/kbengine/kbengine_u ...