var webpack = require('webpack'); var path = require('path') var merge = require('webpack-merge') var baseConfig = require('./webpack.base') var getEntries = require('./getEntries')
var publicPath = 'http://0.0.0.0:7799/dist/'; var hotMiddlewareScript = 'webpack-hot-middleware/client?reload=true';
var assetsInsert = require('./assetsInsert')
module.exports = merge(baseConfig, { entry: getEntries(hotMiddlewareScript), devtool: '#eval-source-map', output: { filename: './[name].[hash].js', path: path.resolve('./public/dist'), publicPath: publicPath }, plugins: [ new webpack.DefinePlugin({ 'process.env': { NODE_ENV: '"development"' } }), new webpack.optimize.OccurenceOrderPlugin(), new webpack.HotModuleReplacementPlugin(), new webpack.NoErrorsPlugin(), new assetsInsert() ] })
// ************************************ // This is the real meat of the example // ************************************ (function() { // Step 1: 引入 webpack 的配置文件和 生成 webpack 的编译器 var webpack = require('webpack'); var webpackConfig = require(process.env.WEBPACK_CONFIG ? process.env.WEBPACK_CONFIG : './webpack.config'); var compiler = webpack(webpackConfig); // Step 2: 将编译器挂载给 webpack dev middleware app.use(require("webpack-dev-middleware")(compiler, { noInfo: true, publicPath: webpackConfig.output.publicPath }));
if (require.main === module) { var server = http.createServer(app); server.listen(process.env.PORT || 1616, function() { console.log("Listening on %j", server.address()); }); }
server.listen(port, function(){ console.log('App (dev) is now running on port ' + port + '!'); }); } else { routerConfig(app, { dirPath: __dirname + '/server/routes/', map: { 'index': '/', 'api': '/api/*', 'proxy': '/proxy/*' } }); app.use(express.static(path.join(__dirname, 'public'))); app.listen(port, function () { console.log('App (dev) is now running on port ' + port + '!'); }); }