什么是 loader?
看官网的解释:loader 让 webpack 能够去处理那些非 JavaScript 文件(webpack 自身只理解 JavaScript)。loader 可以将所有类型的文件转换为 webpack 能够处理的有效模块,然后你就可以利用 webpack 的打包能力,对它们进行处理。
下面就通过例子来演示。
向 src 文件夹中添加一张图片 triss.jpg:
然后修改 index.js 文件中的代码:
const Header = require(‘./header.js’);
const triss = require(‘./triss.jpg’); // 增加这一行
new Header();
运行 npm run bundle 来打包,会发现报错了:
错误提示说 triss.jpg 这个文件打包出了问题,这是因为 webpack 只能处理 js 文件,遇到 jpg 文件,它就懵逼了,不知道该怎么处理了,然后就报错了。想让它处理非 js 文 件该怎么办呢?这就要用到 loader 了!