Javascript Can';t全局配置图像网页包加载程序
我想全局配置图像网页包加载器,与它的文档相同 Webpack 2有另一种设置方法。现在我们需要使用LoaderOptionsPlugin来配置加载器 这就是我想做的:Javascript Can';t全局配置图像网页包加载程序,javascript,webpack,Javascript,Webpack,我想全局配置图像网页包加载器,与它的文档相同 Webpack 2有另一种设置方法。现在我们需要使用LoaderOptionsPlugin来配置加载器 这就是我想做的: plugins: [ new webpack.LoaderOptionsPlugin({ options: { imageWebpackLoader: { mozjpeg: {
plugins: [
new webpack.LoaderOptionsPlugin({
options: {
imageWebpackLoader: {
mozjpeg: {
quality: 65,
},
pngquant: {
quality: '65-90',
speed: 4,
},
svgo: {
plugins: [
{
removeViewBox: false,
},
{
removeEmptyAttrs: false,
},
],
},
},
},
}),
],
因此,我开始出现错误:
ERROR in ./imgs/imgInStyles.jpg
Module build failed: TypeError: Cannot read property 'bypassOnDebug' of null
at Object.module.exports (D:\work\research\deployment\webpack\webpack2-config-sample\node_modules\image-webpack-loader\index.js:30:26)
@ ./~/css-loader!./~/postcss-loader!./~/sass-loader/lib/loader.js!./app/pages/home/home.scss 6:158-198
似乎我配置的LoaderOptionsPlugin错误,但无法理解问题出在哪里。LoaderOptionsPlugin旨在简化从webpack 1的转换。在Webpack2中,您应该直接在加载程序上定义选项 您的规则如下所示(使用自述文件中的webpack 2规则和您的选项):
我不知道这是否能帮助你:
{
test: /\.(gif|png|jpe?g|svg)$/i,
use: [
'file-loader',
{
loader: 'image-webpack-loader',
options: {
mozjpeg: {
quality: 65,
},
pngquant: {
quality: '65-90',
speed: 4,
},
svgo: {
plugins: [
{
removeViewBox: false,
},
{
removeEmptyAttrs: false,
},
],
}
}
}
]
}