2016-06-30 3 views
1

Я создал приложение для взаимодействия с webpack. Все хорошо работает на местном уровне. Просто используя npm start. Я хочу развернуть простой пакет для prod с помощью команды webpack -p. он дал мне bundle.js, я добавил его, и он отлично работает. но он по-прежнему ищет мой локальный сервер, работающий как часть горячей перезагрузки конфигурации. Я изменил горячий: ложный, но он все еще ищет его.Отключить горячую перезагрузку на webpack

вот мой webpack.config.js

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


module.exports = { 
    devtool: 'eval', 
    entry: [ 
    'webpack-dev-server/client?http://csd.local.com:3000', 
    'webpack/hot/only-dev-server', 
    './src/index' 
    ], 
    output: { 
    path: path.join(__dirname, 'dist'), 
    filename: 'bundle.js', 
    publicPath: '/static/' 
    }, 
    plugins: [ 
    new webpack.HotModuleReplacementPlugin(), 
    new webpack.DefinePlugin({'process.env.NODE_ENV': JSON.stringify('production')}) 

    ], 
    module: { 
    loaders: [{ 
     test: /\.js$/, 
     loaders: ['react-hot', 'babel'], 
     include: path.join(__dirname, 'src') 
    }, 
    { test: /\.scss$/, 
     loaders: ["style", "css", "sass"], 
     include: path.join(__dirname, 'src') 
    } 
    ] 
    } 
}; 

А вот мой server.js

var webpack = require('webpack'); 
var WebpackDevServer = require('webpack-dev-server'); 
var config = require('./webpack.config'); 
new WebpackDevServer(webpack(config), { 
    publicPath: config.output.publicPath, 
    hot: false, 
    historyApiFallback: true 
}).listen(3000, 'localhost', function (err, result) { 
    if (err) { 
    return console.log(err); 
    } 

    console.log('Listening at http://csd.local.com:3000/'); 
}); 

Все, что я хочу есть, отключить горячую перезагрузку в прод.

ответ

0

Это потому, что вы говорите Webpack связать клиентские сценарии HMRE вместе с приложением:

'webpack-dev-server/client?http://csd.local.com:3000', 
'webpack/hot/only-dev-server',**strong text** 

Решение было бы обнаружить погоду вы находитесь в «развитие» или окружающей среде «производства». Для этого вы можете использовать «yargs» для анализа ваших аргументов cli (это зависимость от webpack, поэтому вам даже не нужно ее устанавливать), и используйте результат для динамического создания вашей конфигурации.

var production = require('yargs').argv.p; 

Смотрите полный пример на http://pastie.org/10895795

Смежные вопросы