由于 webpack 只能理解JavaScript和JSON文件。对于其他文件需要loader将其他的类型的文件转换为有效模块,以供应用程序使用,以及被添加到依赖图中。
- 允许在 JS 模块中 import CSS 文件!
- 将文件从不同的语言(如 TypeScript )转换为 JavaScript
- 可以将内联图像转换为 data URL。
由于 webpack 只能理解JavaScript和JSON文件。对于其他文件需要loader将其他的类型的文件转换为有效模块,以供应用程序使用,以及被添加到依赖图中。
plugins 选项用于以各种方式自定义 webpack 构建过程,他是 Plugin的集合。查看插件页面 获取插件列表和对应文档。
loader 用于转换某些类型的模块,而插件则可以用于执行范围更广的任务。包括:打包优化,资源管理,注入环境变量。
想要使用一个插件,你只需要 require() 它,然后把它添加到 plugins 数组中。多数插件可以通过选项(option)自定义。
你也可以在一个配置文件中因为不同目的而多次使用同一个插件,这时需要通过使用 new 操作符来创建一个插件实例。
webpack 的配置文件是 JavaScript 文件,文件内导出了一个 webpack 配置的对象。 webpack 会根据该配置定义的属性进行处理。
由于 webpack 遵循 CommonJS 模块规范,因此,你可以在配置中使用语法:
本质上,webpack是一个现代JavaScript应用程序的静态模块打包器(module bundler)。
当 webpack 处理应用程序时,它会在内部从一个或多个入口点构建一个 依赖图(dependency graph),然后将你项目中所需的每一个模块组合成一个或多个 bundle。
通俗的理解,webpack是一个前端项目工程化的具体解决方案。它提供了友好的前端模块化开发支持,以及代码压缩混淆、处理浏览器端JavaScript的兼容性、性能优化等强大的功能。
从 v4.0.0 开始,webpack 可以不用再引入一个配置文件来打包项目,然而,它仍然有着 高度可配置性,可以很好满足你的需求。