Замедление компиляции Webpack с изображениями

#image #webpack #dllplugin

#изображение #webpack #dllplugin

Вопрос:

У меня есть проект, где изображения являются ключевым аспектом. Моя конфигурация webpack отвечает за оптимизацию, изменение размера и размещение этих изображений в dist /. Проблема в том, что эта обработка занимает много времени, поэтому простое добавление к любому другому ресурсу (например, html, js и т.д.), например, file, запускает все. Я хотел использовать DllPlugin и DllPluginReference , чтобы посмотреть, возможно ли сократить время, затрачиваемое на вывод проекта. Я нашел много примеров того, как использовать это с кодом поставщика, но ничего с вашими собственными ресурсами.

Моя текущая настройка

 //webpack.config.images.js

var path = require("path");
var webpack = require("webpack");

module.exports = {
    entry: {
        images: ['./src/images.js']
    },
    output: {
        filename: 'assets/[name].js',
        path: path.resolve(__dirname, 'dist'),
        publicPath: '/'
    },
    module: {
        rules: [
            {
                test: /.(jpeg|jpg|png)$/,
                use: [
                    'file-loader?name=images/[name].[ext]',
                    {
                        loader: 'image-webpack-loader',
                        options: {
                            mozjpeg: {
                                progressive: true,
                                quality: 65
                            }
                        }
                    }
                ]
            }
        ]
    },
    plugins: [
        new webpack.DllPlugin({
           path: path.join(__dirname, '.', '[name]-manifest.json'),
           name: '[name]_library',
           context: __dirname     
        })
    ]
}
  

Основная конфигурация webpack:

 //webpack.config.js

module.exports = {
    ...
    plugins: [
        ...,
        new webpack.DllReferencePlugin({
            context: __dirname,
            manifest: require('./images-manifest.json')
        })
    ]
}
  

Проблемы, с которыми я сталкиваюсь, заключаются в следующем:

  1. запуск wepback --config webpack.config.images.js приводит к созданию изображений и манифеста (отлично!), но также images.js (не так уж и здорово — мне это не нужно — изображения должны быть просто помещены в dist с file-loader )

  2. Если я запускаю simply webpack , указанный манифест не генерирует изображения.

Возможно, я совершенно неправильно понимаю, как DllPlugin здесь следует использовать, и, скорее всего, есть лучший способ достичь того, что я хочу сделать.