有没有办法让webpack显示每个模块使用的确切加载器?
我想验证babel-loader
是否用于某些模块。如何验证我的module.rules[].test
正则表达式是否按照我的意图运行?
--verbose
选项不显示加载程序信息。
答案 0 :(得分:5)
首先,使用--profile
和--json
选项运行webpack,并将输出写入本地磁盘。
webpack --profile --json > stat.json
其次,打开stat.json
文件。搜索您感兴趣的文件名。例如,我将使用scss文件,以下是我在stat.json中找到的内容:
{
"id": 1,
"identifier": "D:\\tmp\\webpack-es6-sass-setup\\node_modules\\extract-text-webpack-plugin\\dist\\loade r.js??ref--1-0!D:\\tmp\\webpack-es6-sass-setup\\node_modules\\style-loader\\index.js!D:\\tmp\\webpack-es6-sass-s etup\\node_modules\\css-loader\\index.js!D:\\tmp\\webpack-es6-sass-setup\\node_modules\\postcss-loader\\lib\\ind ex.js!D:\\tmp\\webpack-es6-sass-setup\\node_modules\\sass-loader\\lib\\loader.js!D:\\tmp\\webpack-es6-sass-setup \\src\\main.scss",
"name": "./src/main.scss",
"index": 1,
"index2": 4,
"size": 41,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
0
],
"assets": [],
"issuer": "D:\\tmp\\webpack-es6-sass-setup\\node_modules\\babel-loader\\lib\\index.js!D:\\tmp\\webpack -es6-sass-setup\\src\\main.js",
"issuerId": 0,
"issuerName": "./src/main.js",
"profile": {
"factory": 11,
"building": 38
},
"failed": false,
"errors": 0,
"warnings": 0,
"reasons": [
{
"moduleId": 0,
"moduleIdentifier": "D:\\tmp\\webpack-es6-sass-setup\\node_modules\\babel-loader\\lib\\index.js!D: \\tmp\\webpack-es6-sass-setup\\src\\main.js",
"module": "./src/main.js",
"moduleName": "./src/main.js",
"type": "cjs require",
"userRequest": "./main.scss",
"loc": "3:0-22"
}
],
"usedExports": true,
"providedExports": null,
"optimizationBailout": [],
"depth": 1,
"source": "// removed by extract-text-webpack-plugin"
}
请注意identifier
字段。将其拆分为!
,我们得到了:
D:\\tmp\\webpack-es6-sass-setup\\node_modules\\extract-text-webpack-plugin\\dist\\loade r.js??ref--1-0
D:\\tmp\\webpack-es6-sass-setup\\node_modules\\style-loader\\index.js
D:\\tmp\\webpack-es6-sass-s etup\\node_modules\\css-loader\\index.js
D:\\tmp\\webpack-es6-sass-setup\\node_modules\\postcss-loader\\lib\\ind ex.js
D:\\tmp\\webpack-es6-sass-setup\\node_modules\\sass-loader\\lib\\loader.js
D:\\tmp\\webpack-es6-sass-setup \\src\\main.scss
这是webpack用于捆绑此文件的所有加载器。