マルチエントリ,マルチターゲットの設定は異なる設定を配列に入れて export してやれば良いようなので,
Electron の main と renderer のバンドル設定を entry, output, target を変えて配列に入れて
返せば良いと思われる.
webpack.config.js
var path = require('path');
const webpack = require('webpack');
var webpackMerge = require('webpack-merge');
var baseConfig = {
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, 'dist')
},
plugins: [
new webpack.EnvironmentPlugin({
NODE_ENV: 'development',
DEBUG: false
})
]
};
var mainConfig = webpackMerge(baseConfig, {
target: 'electron-main',
entry: './app/main.js',
});
var rendererConfig = webpackMerge(baseConfig, {
target: 'electron-renderer',
entry: './app/renderer.js',
});
module.exports = [mainConfig, rendererConfig];
追記
スプレッド演算子と TypeScript で記述する場合
webpack.config.ts
import * as webpack from 'webpack'
const baseConfig: webpack.Configuration = {
}
const mainConfig: webpack.Configuration = {
...baseConfig,
entry: {
main: "./src/main.ts"
}
}
const rendererConfig: webpack.Configuration = {
...baseConfig,
entry: {
main: "./src/renderer.ts"
}
}
export default [mainConfig, rendererConfig]