#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')
})
]
}
Проблемы, с которыми я сталкиваюсь, заключаются в следующем:
-
запуск
wepback --config webpack.config.images.js
приводит к созданию изображений и манифеста (отлично!), но также images.js (не так уж и здорово — мне это не нужно — изображения должны быть просто помещены вdist
сfile-loader
) -
Если я запускаю simply
webpack
, указанный манифест не генерирует изображения.
Возможно, я совершенно неправильно понимаю, как DllPlugin
здесь следует использовать, и, скорее всего, есть лучший способ достичь того, что я хочу сделать.