PS C:\Projects\webpack_react_starter> npm run start
[email protected] 启动 webpack服务--模式开发--env开发--hot--端口3000
C:\Projects\webpack_react_starter ode_modules\webpack\lib ules\UseEffectRulePlugin.js:160 抛出ruleSetCompiler.error( ^
错误:编译规则集失败:“loader”上的查询参数已被删除,以支持“options”属性(位于ruleSet[1].rules[2].loader:url-loader?limit=10000&name=img/[name ].[分机]) 在 RuleSetCompiler.error (C:\Projects\webpack_react_starter ode_modules\webpack\lib ules\RuleSetCompiler.js:373:10) 在 C:\Projects\webpack_react_starter ode_modules\webpack\lib ules\UseEffectRulePlugin.js:160:29 at Hook.eval [as call] (eval at create (C:\Projects\webpack_react_starter ode_modules apable\lib\HookCodeFactory.js:19:10), :47:1) 在 RuleSetCompiler.compileRule (C:\Projects\webpack_react_starter ode_modules\webpack\lib ules\RuleSetCompiler.js:177:19) 在 C:\Projects\webpack_react_starter ode_modules\webpack\lib ules\RuleSetCompiler.js:154:9 在Array.map() 在 RuleSetCompiler.compileRules (C:\Projects\webpack_react_starter ode_modules\webpack\lib ules\RuleSetCompiler.js:153:16) 在 RuleSetCompiler.compileRule (C:\Projects\webpack_react_starter ode_modules\webpack\lib ules\RuleSetCompiler.js:184:30) 在 C:\Projects\webpack_react_starter ode_modules\webpack\lib ules\RuleSetCompiler.js:154:9 在Array.map()
当我升级到较新的 webpack 时,同样的情况也发生在我身上,错误指示将配置结构从查询参数更改为选项对象。就我而言,我必须改变:
{
test: /\.(jpe?g|png|gif|woff|woff2|otf|eot|ttf|svg)(\?[a-z0-9=.]+)?$/,
loader: 'url-loader?limit=1000&name=assets/img/[name].[ext]',
}
至:
{
test: /\.(jpe?g|png|gif|woff|woff2|otf|eot|ttf|svg)(\?[a-z0-9=.]+)?$/,
use: [
{
loader: 'url-loader',
options: {
limit: 1000,
name : 'assets/img/[name].[ext]'
}
}
]
}
可以在这里找到相同的答案:https://stackoverflow.com/a/67129623/717096
就我而言,出现此问题是因为我的文件夹名称中有一个特殊字符,它有一个“?”在里面。