一、 Loader
上一节咱们讲了webpack的一些基本认识及概念,接下来咱们继续探索webpack的 Loader,那么何为Loader?它的做用是什么?node
- Webpack 自己只能处理 JavaScript 模块,若是要处理其余类型的文件,就须要使用 loader 进行转换。
- Loader 能够理解为是模块和资源的转换器,它自己是一个函数,接受源文件做为参数,返回转换的结果。这样,咱们就能够经过
require
来加载任何类型的模块或文件,好比 CoffeeScript、 JSX、 LESS 或图片。
1.1 Loader的特性
- Loader 能够经过管道方式链式调用,每一个 loader 能够把资源转换成任意格式并传递给下一个 loader ,可是最后一个 loader 必须返回 JavaScript。
- Loader 能够同步或异步执行。
- Loader 运行在 node.js 环境中,因此能够作任何可能的事情。
- Loader 能够接受参数,以此来传递配置项给 loader。
- Loader 能够经过文件扩展名(或正则表达式)绑定给不一样类型的文件。
- Loader 能够经过
npm
发布和安装。
- 除了经过
package.json
的 main
指定,一般的模块也能够导出一个 loader 来使用。
- Loader 能够访问配置。
- 插件能够让 loader 拥有更多特性。
- Loader 能够分发出附加的任意文件。
1.2 Loader 自己也是运行在 node.js 环境中的 JavaScript 模块,它一般会返回一个函数。
Loader 能够在 require()
引用模块的时候添加,也能够在 webpack 全局配置中进行绑定,还能够经过命令行的方式使用。webpack