Webpack 学习

前言
记录我学习 Webpack 过程中觉得重要的一些知识点

核心理念

bundle your scripts
bundle your images
bundle your styles
bundle your asssets

打包你项目中各种资源

知识概念

webpack 是现代 javascript 应用程序的静态模块打包器(module bundler),它在构建程序的时候会递归的构建一个依赖关系图(dependency graph),这个依赖图包含应用程序需要的每个模块,然后将这些模块打包为若干个 bundle。

入口(entry)

指定 webpack 应该使用哪些模块,即是哪里作为依赖图的起点。可以配置多入口。

输出(output)

输出只能有一个,是根据依赖关系图打包之后的 bundle 文件的存放位置和命名规律。

loader

loader 是模块(文件)粒度的工具,让 webpack 能够处理那些非 javascript 文件,将它转换为依赖图可以直接使用的模块。

plugins

插件的影响范围比 loader 更大,能够影响到打包过程中的细节,包括但不限于打包优化、代码压缩、全局变量定义等。