捆绑生产时如何删除HMR的所有参考?
我的生产Webpack配置没有对HMR的引用,但是在浏览器调试器中,客户端不断对/ __ webpack_hmr进行xhr调用
谁能阐明这一点?
-我的配置
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'
}]
}
};
Run Code Online (Sandbox Code Playgroud)
小智 3
取决于您如何设置配置。我有一个节点环境变量,它告诉我是否在生产模式下运行。如果不是生产环境,我会在 server.js 中使用以下内容设置 webpackDevMiddleware。
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));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6579 次 |
| 最近记录: |