[webpack] バンドルされるLodashのサイズを減らす方法
1 min read
概要
Lodash の一部のモジュールを使用した場合でも全てのモジュールをバンドルしてしまいファイルサイズが肥大化してしまう。
私の環境下ではcloneDeep
のみを使用していたので、それだけバンドルされるようにする。
設定方法
import { cloneDeep } from 'lodash';
と記述しても上手く Tree Shaking されないため、lodash-webpack-pluginを利用する。
設定は下記にような形で行う。
webpack.config.js
const LodashModuleReplacementPlugin = require("lodash-webpack-plugin");
module.exports = {
plugins: [new LodashModuleReplacementPlugin()],
};
.babelrc
{
"plugins": [["lodash"]]
}
あとはこれまで通り、下記のように特定のモジュールを読み込むだけで OK
import { cloneDeep } from "lodash";