webpackでWebPを生成する方法をメモ。
サンプルコード
プロジェクトディレクトリでpackage.jsonを作成後、使用するプラグインをインストールします。
npm install webpack webpack-cli imagemin-webp-webpack-plugin copy-webpack-plugin --save-dev
プロジェクトディレクトリ内にsrcディレクトリを作成して、その中にindex.jsを作成します。
今回は特に使用しないので、中身はなんでも大丈夫です。
index.js
console.log('hello world');
webpack.config.jsを以下のように記述します。
const path = require("path");
const ImageminWebpWebpackPlugin= require("imagemin-webp-webpack-plugin");
const CopyPlugin = require("copy-webpack-plugin");
module.exports = {
mode: "production",
plugins: [
new CopyPlugin({
patterns: [
{
from: path.resolve(__dirname, "src", "img"),
to: path.resolve(__dirname, "dist", "img")
},
],
}),
new ImageminWebpWebpackPlugin({
config: [{
test: /\.(png|jpe?g)$/i, // 対象ファイル
options: {
quality: 75 // 画質
}
}]
})
]
};
「/src/img/」内にあるpng/jpgファイル元にWebPを生成して、「/dist/img/」に出力する設定になっています。
また、「/dist/img/」には元のpng/jpg形式のファイルも出力されるようになっています。
コメントが承認されるまで時間がかかります。