2016-03-21 3 views
2

Wie entfernt man alle Referenzen von HMR beim Bündeln für die Produktion?So deaktivieren Sie den Austausch heißer Module im Webpack für die Produktion

hat meine Produktion Webpack Config keine Verweise auf HMR und noch im Browser-Debugger ist der Kunde ständig eine xhr Aufruf/__ webpack_hmr

Kann jemand ein Licht in diese zu machen?

- meine Config

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

Welchen Befehl verwenden Sie, um Ihre Webpack-Build auszuführen? Können Sie Ihre Webpack-Produktionskonfiguration posten? – Ambroos

+0

Hallo Ambros, Schluck wird Webpack aufrufen. –

Antwort

2

Hängt davon ab, wie Sie Setup Ihre Konfiguration. Ich habe eine Knoten-Umgebungsvariable, die mir sagt, ob ich im Produktionsmodus laufe oder nicht. Wenn es keine Produktion ist, habe ich webpackDevMiddleware mit dem folgenden in meiner server.js eingerichtet.

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

Darüber hinaus möchten Sie vielleicht auf dem vorderen Ende der Middleware-Client zur Steuerung von Zündung Anrufe:

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

durch diesen Eingang Steuerung process.env.NODE_ENV !== 'production' im webpack.config mit .js.

Siehe running webpack in production.

Verwandte Themen