47
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

webpackでファイルの出力先を複数指定する

Posted at

webpackでファイルをbundleする際に、サーバー側のファイルとクライアント側のファイルを別々に指定したくて、色々模索したのですが、ある方法に落ち着いたので、備忘録として残します。

以下のディレクトリ構造で

src/
    - client.js
    - server.js
package.json
webpack.config.js

以下のように出力したい

dist/
  - server.bundle.js
public/
  - client.bundle.js
src/
  - client.js
  - server.js
package.json
webpack.config.js

この場合のwebpack.config.jsについて、以下のように解決いたしました。


const path = require('path')
const nodeExternals = require('webpack-node-externals')

const env = process.env.NODE_ENV || 'development'
const isDevelopment = env === 'development'

module.exports = {
  mode: env,
  target: 'node',
  devtool: isDevelopment ? 'source-map' : false,
  entry: {
    'public/client': './src/client.ts',
    'dist/server': './src/server.ts',
  },
  output: {
    path: __dirname,
    filename: '[name].bundle.js',
  },
  // 以下省略
}

色々模索してみましたが、上記の方法が一番手軽なような気がしました。

もしもっと簡単な方法があったり、より良い方法があったら知りたい。。。

47
29
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
47
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?