new-react
Version:
react + es6 + less + webpack + redux
44 lines (38 loc) • 1.26 kB
JavaScript
// webpack.dev.js
var webpack = require('webpack')
var WebpackDevServer = require('webpack-dev-server')
var config = require('./webpack.config')
var utils = require('./utils')
var OpenBrowserWebpackPlugin = require('open-browser-webpack-plugin')
var PORT = 8080
var HOST = utils.getIP()
var args = process.argv
var hot = args.indexOf('--hot') > -1
var deploy = args.indexOf('--deploy') > -1
// 本地环境静态资源路径
var localPublicPath = 'http://' + HOST + ':' + PORT + '/'
config.output.publicPath = localPublicPath
config.entry.app.unshift('webpack-dev-server/client?' + localPublicPath)
config.plugins.push(new OpenBrowserWebpackPlugin({
url: localPublicPath
}))
// 开启热更新相关设置
if (hot === true) {
config.entry.app.unshift('webpack/hot/only-dev-server')
// 这里的 loader[0] 是处理 .js 的 loader
config.module.loaders[0].loaders.unshift('react-hot-loader')
config.plugins.push(new webpack.HotModuleReplacementPlugin())
}
new WebpackDevServer(webpack(config), {
hot: hot,
inline: true,
compress: true,
stats: {
chunks: false,
children: false,
colors: true
},
historyApiFallback: true
}).listen(PORT, HOST, function () {
console.log(localPublicPath)
})