web-dev-qa-db-ja.com

webpack-dev-serverはwebpack出力とは異なるフォルダーで提供されます

これは私のwebpack.config.jsにあります:

var path = require('path');
module.exports = {
  entry: './src/index.jsx',
  output: {
    path: path.resolve(__dirname, 'build'),
    filename: 'bundle.js'
  },
  devServer: {
    inline: true,
    port: 8080
  },
  module: {
    loaders: [
      {
        test: /\.jsx?$/,
        exclude: /node_modules/,
        loader: 'babel',
        query: {
          presets: ['es2015', 'react']
        }
      }
    ]
  }
}

そして、これは私がそれを実行する方法です:

$ webpack-dev-server --watch-poll --progress --colors
$ webpack --progress --colors

私が抱えている問題は、webpack-dev-serverが(buildではなく)フォルダのルートにあるバンドルファイルを期待どおりに提供していることです。しかし、webpackはバンドルファイルをbuild/(私が期待する方法)に出力します。

したがって、ビルドを行うときにscript scrを変更する必要があります。

それを解決する方法はありますか?たぶん私のwebpack.config.jsの設定が悪いだけです。

私はubuntuBTWを実行しています。

11
Christian Gill

publicPathは、webpack-dev-serverにバンドルをメモリ内で提供する場所を指示します

output: {
   path: path.resolve(__dirname, 'build'),
   filename: 'bundle.js',
   publicPath: '/build/'
}
14