问题描述
我将CRA +与rescripts一起使用
我想摇晃Moment.js语言环境,与ignorePlugin Webpack文档中显示的方式完全相同:
new webpack.IgnorePlugin({
checkResource (resource) {
// do something with resource
return true|false;
}
});
我知道我可以使用脚本轻松地转换webpack配置:
config => {
const newConig = ...
return newConfig
}
但是如何握住webpack
对象来调用IgnorePlugin
方法-还是获得相同的结果?
如有必要,我愿意从脚本改成react-app-rewired
之类的替代文本。
解决方法
生成的配置应该有一个 plugins
选项。
假设您的 newConfig
继承了所有 config
选项。通常,newConfig.plugins
将指向继承的默认插件数组。
要增强/扩展插件列表,您只需更改该数组,即。只需将您的插件推送到该 newConfig.plugins
数组中的任何索引(例如最后一个)。
示例:
const Webpack = require("webpack");
function webpack(config,env) {
const newConfig = Object.assign({},config);
newConfig.plugins = newConfig.plugins || [];
const myPlugin = new Webpack.IgnorePlugin({
checkResource(resource) {
// do something with resource
return true | false;
}
});
newConfig.plugins.push(myPlugin);
return newConfig;
}
module.exports = { webpack };