3

私は周りを見回しましたが、スタックオーバーフローで見た答えを得ることができません。

webpack または webpack dev-server のコマンドラインを使用できません。Node API の使用に制限されています。

以下は、私がwebpackをどのように使用しているかです。

webpack.config.js

module.exports = {
  entry: [
    'webpack-dev-server/client?http://localhost:3000',
    // i've also tried webpack/hot/dev-server here
    'webpack/hot/only-dev-server',
    path.join(__dirname, 'src', 'js', 'app.jsx')
  ],
  output: {
    path: path.join(__dirname, 'dist', 'js'),
    filename: 'script.js',
    publicPath: '/dist/'
  },
  module: {
    loaders: [{
      test: /\.(js|jsx)$/,
      loaders: ['react-hot', 'babel']
    }]
  },
  plugins: []
};

gulp タスク「開始」に含まれる

gulp.task('start', function (callback) {
  var config = Object.create(require('webpack.config.js'));
  config.plugins.push(new webpack.HotModuleReplacementPlugin());

  var devServer = new webpackDevServer(webpack(config), {
    stats: { colors: true },
    contentBase: path.resolve(__dirname, 'dist'),
    progress: true,
    inline: true,
    hot: true
  });
});

私が期待すること

gulp start を実行すると、webpack dev サーバーが起動し、localhost:3000/ にアクセスできるようになると思います。これにより、プロジェクトの /dist/ フォルダーから index.html が読み込まれます。ここまでは順調ですね。ファイル (app.jsx など) に変更を加えると、その変更が存在することを期待します。

実際に起こっていること

「[HMR] Hot Module Replacement is disabled」というエラーが表示されますが、それ以上の説明はありません。

どんな助けでも大歓迎です。ホット リロードを 1 日中機能させようとしています。

4

2 に答える 2

1

plugins セクションの webpack.config.js でこれを試してください。

plugins: [new webpack.HotModuleReplacementPlugin()]

gulpタスクでプラグインをプッシュしていることは知っていますが--hot --inline、cliまたはnpmスクリプトで使用する必要があります

于 2016-09-09T02:09:01.993 に答える