Slide 25
Slide 25 text
並行運用できる構成(manifest 生成)
const plugings = [];
...(省略)
if (process.env.BUILD_ASSETS === '1') {
plugins.push(
new ManifestPlugin({
fileName: 'javascripts-manifest.json',
publicPath: 'assets/'
})
);
}
...(省略)
module.exports = {
...(省略)
plugins,
module: {
rules: [
{
test: /\.scss$/,
use: [
{ loader: MiniCssExtractPlugin.loader },
{ loader: 'css-loader' },
{ loader: 'replace-image-path-loader' }, // config 乗り換えが完了したら css 書き換えて消す
{ loader: 'replace-font-path-loader' }, // config 乗り換えが完了したら css 書き換えて消す
{ loader: 'sass-loader'}
]
},
]
}
}
webpack.config.2.js
{
...(省略)
scripts: {
build: "webpack --mode production",
next:build: "webpack --mode production --config ./webpack.config.2.js",
}
}
package.json
もと config ビルドが
通らなくなる変更 loader で行い
ソースコードを移行前 状態で保つ
必要な plugin 挿入
既存 ビルド環境を保ちつつ、新しい config 作り込みができる環境を作成
もと config をコピペ
必要な plugin が入った config