Mon*_*nti 4 javascript node.js reactjs webpack
更新
@Daniel Khoroshko 的回答解决了我的统计问题。为了将来参考,webpack 有(至少)4 种处理统计信息的方式:
stats视为常规 webpack 选项https://webpack.js.org/configuration/stats/devServer,则必须将其放置在该对象中(请参阅上面链接中的注释)webpack-dev-middleware覆盖 stats 所以对象必须在那里https://github.com/webpack/webpack-dev-middleware#stats================================================
使用 webpack 3.10 我试图抑制extract-text-webpack-plugin我得到的百万日志。
我们正在使用 webpack Node API。在我们server.js的节点入口点中,我们有:
// server.js
const app = express();
if (environment.isLocal) {
require('./webpackConfig')(app);
} else {
app.use(compression());
}
// other stuff
Run Code Online (Sandbox Code Playgroud)
我们在 node 中使用 webpack 的地方:
// webpackConfig.js
const webpack = require('webpack');
const config = require('../webpack.config.dev');
module.exports = (app) => {
const compiler = webpack(config, (err, stats) => {
stats.toJson("none"); // none for brevity, but not working
});
app.use(require('webpack-dev-middleware')(compiler, {
noInfo: true,
publicPath: config.output.publicPath
}));
app.use(require('webpack-hot-middleware')(compiler));
};
Run Code Online (Sandbox Code Playgroud)
最后,整个配置
// webpack.config.dev.js
module.exports = {
devtool: 'cheap-module-source-map',
entry: {
app: [
'eventsource-polyfill',
'webpack-hot-middleware/client?reload=true',
'./src/index'
]
},
target: 'web',
output: {
path: __dirname + '/dist',
publicPath: '/',
filename: '[name].js'
},
devServer: {
contentBase: './src'
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.NoEmitOnErrorsPlugin(),
new ExtractTextPlugin('[name]-[hash].css'),
new HtmlWebpackPlugin({
title: 'annoying webpack',
template: './src/index.html',
alwaysWriteToDisk: true,
inject: false
}),
new HtmlWebpackHarddiskPlugin()
],
module: {
rules: [
{
test: /\.js$/,
enforce: 'pre',
loader: require.resolve('eslint-loader'),
options: {
failOnWarning: false,
failOnError: false
},
exclude: /node_modules|dist/
},
{
test: /\.js$/,
include: [path.join(__dirname, 'src')]
loader: 'babel-loader'
}
]
}
};
Run Code Online (Sandbox Code Playgroud)
控制台输出
webpack building...
webpack built c22fd3ae797ecd55eccc in 7410ms
? ?wdm?: Hash: c22fd3ae797ecd55eccc
Version: webpack 3.10.0
Time: 7410ms
Asset Size Chunks
Chunk Names
app.js 2.53 MB 0 [emitted] [big]
app
app-c22fd3ae797ecd55eccc.css 125 kB 0 [emitted]
app
app.js.map 2.97 MB 0 [emitted]
app
app-c22fd3ae797ecd55eccc.css.map 4.71 kB 0 [emitted]
app
index.html 275 bytes [emitted]
[3] ./node_modules/react/react.js 56 bytes {0} {0} [built]
[100] ./node_modules/react-dom/index.js 59 bytes {0} {0} [built]
[107] ./node_modules/react-redux/es/index.js 230 bytes {0} {0}
[built]
.....
+ 867 hidden modules
Child html-webpack-plugin for "index.html":
Asset Size Chunks Chunk Names
index.html 568 kB 0
.....
? ?wdm?: Compiled successfully.
webpack built d7509fff9f1c995bf5ee in 7523ms
? ?wdm?: Hash: d7509fff9f1c995bf5ee
Version: webpack 3.10.0
Time: 7523ms
Asset Size Chunks
Chunk Names
app.js 2.53 MB 0 [emitted] [big]
app
app-d7509fff9f1c995bf5ee.css 125 kB 0 [emitted]
app
app.js.map 2.97 MB 0 [emitted]
app
app-d7509fff9f1c995bf5ee.css.map 4.71 kB 0 [emitted]
app
index.html 275 bytes [emitted]
[5] ./src/App.js 3.62 kB [built]
[6] ./src/store/configureStore.js 325 bytes [built]
.....
+ 867 hidden modules
Child html-webpack-plugin for "index.html":
Asset Size Chunks Chunk Names
index.html 568 kB 0
[0] ./node_modules/html-webpack-plugin/lib/loader.js!./src/index.html 646 bytes {0} [built]
[1] ./node_modules/lodash/lodash.js 540 kB {0} [built]
[2] (webpack)/buildin/global.js 509 bytes {0} [built]
[3] (webpack)/buildin/module.js 517 bytes {0} [built]
? ?wdm?: Compiled successfully.
Run Code Online (Sandbox Code Playgroud)
关于统计选项webpack-dev-middleware并webpack-dev-server有自己的统计设置,我想它会覆盖 webpack 自己的设置。我建议试试这个
app.use(require('webpack-dev-middleware')(compiler, {
noInfo: true,
publicPath: config.output.publicPath,
stats: 'errors-only'
}));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2237 次 |
| 最近记录: |