LoginSignup
5
5

More than 5 years have passed since last update.

webpack でマルチターゲットの設定

Last updated at Posted at 2017-05-22

マルチエントリ,マルチターゲットの設定は異なる設定を配列に入れて 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]

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5