htmlwebpackplugin有什么用?
HtmlWebpackPlugin是一个出现频率比较高的webpack插件。
HtmlWebpackPlugin是用于生成html文件。我们的疑问可能在于,webpack本身不能生成html文件,事实上,默认的webpack主要是用于处理js文件的依赖图构建和打包,当需要生成html文件时,便需要使HtmlWebpackPlugin插件。
webpack原理解析?
1.webpack核心概念:
entry: 一个可执行模块或库的入口文件。
chunk :多个文件组成的一个代码块,例如把一个可执行模块和它所有依赖的模块组合和一个 chunk 这体现了webpack的打包机制。
loader :文件转换器,例如把es6转换为es5,scss转换为css。
plugin :插件,用于扩展webpack的功能,在webpack构建生命周期的节点上加入扩展hook为webpack加入功能。
2.webpack构建流程(原理):
从启动webpack构建到输出结果经历了一系列过程,它们是:
2.1 解析webpack配置参数,合并从shell传入和webpack.config.js文件里配置的参数,生产最后的配置结果。
2.2 注册所有配置的插件,好让插件监听webpack构建生命周期的事件节点,以做出对应的反应。
2.3 从配置的entry入口文件开始解析文件构建AST语法树,找出每个文件所依赖的文件,递归下去。
2.4 在解析文件递归的过程中根据文件类型和loader配置找出合适的loader用来对文件进行转换。
2.5 递归完后得到每个文件的最终结果,根据entry配置生成代码块chunk。
2.6 输出所有chunk到文件系统。