本节我们来学习 webpack 中 loader 加载器的使用,那么什么是 loader 呢。从本质上来说,loader 就是一个 Node.js 模块,在 webpack 的定义中,loader 导出一个函数,loader 会在转换源模块的时候调用该函数。 webpack 本身依然是只能处理 JS 文件的,但是通过一系列的 loader ,就可以处理其他文件啦。例如 Less 和 Sass,以前我们编译这些 CSS 预处理器,需要使用 gulp 进行编译,而显示可以通过 webpack 中的 loader 加载器来实现。 webpack 中有一系列的 loader,在实际项目中,我们会根据不同的需求使用到不同的 loader。例如 webpack 中的一些常见 loader 如下所示: 我们可以在 webpack.config.js 配置文件中配置 loader,可以在 module.rules 中指定一个或多个 loader。 通过配置loader 的两个属性来实现: 例如默认情况下 webpack 只能打包 JS 文件,不能识别其他例如 CSS、Less、image等类型的文件,那么如果我们想要打包 CSS 样式文件,可以在 webpack 中使用 loader 加载器,可以将一种文件转换为另一种文件,将webpack不能识别的其它类型文件转换为 webpack 可识别 JS 类型文件。 首先需要安装 style-loader 和 css-loader ,安装命令如下所示: 命令执行成功后,这两个 loader 会自动添加到 package.json 的依赖中,如下所示: 然后在 webpack.config.js 中配置 loader,在 module 属性的 rule 属性中配置 loader 规则: 这里表示匹配所有 .css 后缀结尾的文件,通过 style-loader 和 css-loader 加载器进行转换后再编译。 然后我们创建一个 xkd.css 文件,内容如下所示: 并将 xkd.css 文件导入到 index.js 入口文件中: 然后我们执行打包命令后会重新生成打包文件,会发现 xkd.css 文件也成功打包到 bundle.js 文件中。 这就是 loader 的基本使用流程,先安装loader,然后在配置文件中配置 loader ,最后再进行打包就可以啦。常见loader
loader的安装和配置
示例:
npm install css-loader style-loader --save-dev
"devDependencies": {
"css-loader": "^3.6.0",
"style-loader": "^1.2.1",
"webpack": "^4.43.0",
"webpack-dev-server": "^3.11.0"
}
module:{
rules:[{
test:/.css$/,
use:['style-loader','css-loader']
}]
}
p{
font-size: 12px;
color: red;
}
document.write('你好,侠课岛!');
// 导入 CSS 文件
import "./xkd.css";
loader 特性