1️⃣ loader 的配置
2️⃣ 完整配置
module.exports = {
// ========== 配置 loader ==========
// 针对模块的配置,4.X 版本只有两个配置,rules、noParse
module: {
// 模块匹配规则,可以存在多个规则
rules: [
// 每个规则是一个对象
{
// 匹配的模块正则, 使用 test ( 指定检查某些文件 )
test: /\.js$/,
// 匹配到后应用的规则模块, 使用 use, 多个 loader 用 use
use: [
// 其中一个规则
{
// loader 模块的路径,该字符串会被放置到 require 中
loader: "模块路径",
// 向对应 loader 传递的额外参数
options: {
}
}
]
},
// 每个规则是一个对象
{
// 匹配的模块正则, 使用 test ( 指定检查某些文件 )
test: /\.js$/,
// 排除 node_modules 下的 js 文件
exclude: /node_modules/,
// 只检查 src 下的 js 文件
include: resolve(__dirname, 'src'),
// 执行顺序 - 'pre'优先执行, 'post'延后执行, 不写按照顺序执行
enforce: 'pre',
// 单个 loader 用 loader
loader: 'eslint-loader'
},
]
},
}
2️⃣ 简化配置
module.exports = {
// ========== 配置 loader ==========
module: { // 针对模块的配置,4.X 版本只有两个配置,rules、noParse
rules: [ // 模块匹配规则,可以存在多个规则
{ // 每个规则是一个对象
test: /\.js$/, // 匹配的模块正则
use: ["模块路径1", "模块路径2"] / /loader模块的路径,该字符串会被放置到require中
}
]
}
}
1️⃣ loader 的解析流程

1️⃣ 自定义 loader 的使用方式


1️⃣ loader 的执行顺序






