2016-03-21 18 views
2

本番用バンドル時にHMRの参照をすべて削除するにはどうすればよいですか?生産用Webpackでホットモジュール交換を無効にする方法

マイ生産のWebPACKの設定は、ブラウザのデバッガではまだHMRへの参照を持っていないと、クライアントは常に誰もがこれに光を当てることができますwebpack_hmr

__ /へのXHR呼び出しを行っていますか?

- 私の設定

var path = require('path'); 
var webpack = require('webpack'); 

module.exports = { 
entry: [ 
     path.resolve(__dirname, 'master/jsx/App') 
    ], 
    output: { 
     path: path.resolve(__dirname, 'build'), 
     publicPath: '/dist/', 
     filename: 'app.bundle.js' 
    }, 
    cache: false, 
    devtool: 'sourcemap', 
    resolve: { 
     extensions: ['', '.js', '.jsx'] 
    }, 
    plugins: [ 
     new webpack.optimize.OccurenceOrderPlugin(), 
     new webpack.DefinePlugin({ 
      'process.env.NODE_ENV': '"production"' 
     }), 
     new webpack.optimize.UglifyJsPlugin({ 
      compressor: { 
       warnings: false 
      } 
     }) 
    ], 
    module: { 
     loaders: [{ 
      test: /\.jsx?$/, 
      exclude: /node_modules/ 
     }, { 
      test: /\.jsx?$/, 
      exclude: /node_modules/, 
      loader: 'babel', 
      query: { 
       presets: ['es2015', 'react'], 
       compact: false 
      } 
     }, { 
      test: /\.css$/, 
      loader: "style-loader!css-loader" 
     }, { 
      test: /\.woff|\.woff2|\.svg|.eot|\.ttf/, 
      loader: 'url?prefix=font/&limit=10000' 
     }] 
    } 
}; 
+0

あなたのWebpackビルドを実行するコマンドは何ですか?プロダクションWebpack設定を投稿できますか? – Ambroos

+0

こんにちはAmbros、gulpはwebpackを呼び出しています。 –

答えて

2

はどのように設定あなたの設定に依存します。私は生産モードで動作しているかどうかを私に知らせるノード環境変数を持っています。プロダクションでない場合、私はserver.jsで次のようにwebpackDevMiddlewareをセットアップします。また

if (process.env.NODE_ENV !== 'production') { 
    app.use(connectLiveReload()); 
    let config = require('./webpack.config'), 
     compiler = webpack(config); 

    app.use(webpackDevMiddleware(compiler, { 
     noInfo:  true, 
     publicPath: config.output.publicPath 
    })); 

    app.use(webpackHotMiddleware(compiler)); 
} 
1

、あなたが電話を発射からフロントエンドにミドルウェアのクライアントを制御する場合がありますwebpack.configでprocess.env.NODE_ENV !== 'production'を使用して、その入力を制御することで

entry: [ 
 
    'webpack-hot-middleware/client', 
 
    './src/index' 
 
]

.js。

はENV変数でコードを無効にすることに加えてrunning webpack in production.

0

を参照してください、私は完全にビルドでHMRコードを削除することを提案するだろう、これはまた、最終的なバンドルとsourcemaps

https://www.npmjs.com/package/webpack-strip-blockを使用することができます最小限に抑えることができますそのために

関連する問題