2016-03-21 4 views
2

Üretim için paketlenirken HMR'nin tüm referansları nasıl kaldırılır? Üretim için web pakette sıcak modül değiştirme nasıl devre dışı bırakılır

My üretim WebPack yapılandırma

HMR bir referansı yoktur ve henüz tarayıcı ayıklayıcısında istemci sürekli bir xhr görüşmesi yapıyor bu konuda/__ webpack_hmr

kimse döken bir ışığa?

- Benim yapılandırma

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 derlemenizi çalıştırmak için hangi komutu kullanıyorsunuz? Üretim Web Paketi yapılandırmanızı gönderir misiniz? – Ambroos

+0

Merhaba Ambros, gulp webpack'i çağırıyor. –

cevap

2

nasıl kurulum yapılandırmasına bağlı. Üretim modunda çalışıp çalışmadığımı söyleyen bir düğüm ortamı değişkenim var. Eğer üretim değilse, webpackDevMiddleware'i server.js'de aşağıdakilerle kuruyorum.

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

ek olarak, ateşleme aramalardan ön ucunda katman istemcisi kontrol etmek isteyebilirsiniz:

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

webpack.config içinde process.env.NODE_ENV !== 'production' kullanarak bu girişi kontrol ederek js. bir env değişken ile kod devre dışı ek olarak running webpack in production.