对webpack的理解:
webpack 是一个用于现代 JavaScript 应用程序的静态模块打包工具
可以使用webpack管理模块
因为在webpack看来,项目中的所有资源皆为模块,通过分析模块间的依赖关系,在其内部构建出一个依赖图,最终编绎输出模块为 HTML、JavaScript、CSS 以及各种静态文件(图片、字体等),让我们的开发过程更加高效
webpack构建打包流程
1、初始化参数:获取webpack.config.js文件配置的参数
2、开始编译:用上一步得到的参数初始化compiler对象,加载所有插件plugins,然后开始执行编译
3、确定入口:根据webpack.config.js文件的entry入口,开始解析文件构建ast语法树
4、编译模块:调用相应的loader对不同的文件做转换处理,在找出该模块依赖的模块,递归本操作,直到项目中依赖的所有模块都经过了本操作的编译处理
5、完成编译并输出:根据入口和模块之间的依赖关系,生成一个个chunk,根据output输出所有的chunk到相应的文件目录