mirror of
https://github.com/zhigang1992/create-react-app.git
synced 2026-06-18 20:16:44 +08:00
Optimize webpack rebuild speed (#5065)
Derived from https://github.com/facebook/create-react-app/issues/4492#issuecomment-421959548
This commit is contained in:
2
packages/react-dev-utils/FileSizeReporter.js
vendored
2
packages/react-dev-utils/FileSizeReporter.js
vendored
@@ -28,7 +28,7 @@ function printFileSizesAfterBuild(
|
||||
var assets = (webpackStats.stats || [webpackStats])
|
||||
.map(stats =>
|
||||
stats
|
||||
.toJson()
|
||||
.toJson({ all: false, assets: true })
|
||||
.assets.filter(asset => /\.(js|css)$/.test(asset.name))
|
||||
.map(asset => {
|
||||
var fileContents = fs.readFileSync(path.join(root, asset.name));
|
||||
|
||||
@@ -150,7 +150,11 @@ function createCompiler(webpack, config, appName, urls, useYarn) {
|
||||
// We have switched off the default Webpack output in WebpackDevServer
|
||||
// options so we are going to "massage" the warnings and errors and present
|
||||
// them in a readable focused way.
|
||||
const messages = formatWebpackMessages(stats.toJson({}, true));
|
||||
// We only construct the warnings and errors for speed:
|
||||
// https://github.com/facebook/create-react-app/issues/4492#issuecomment-421959548
|
||||
const messages = formatWebpackMessages(
|
||||
stats.toJson({ all: false, warnings: true, errors: true })
|
||||
);
|
||||
const isSuccessful = !messages.errors.length && !messages.warnings.length;
|
||||
if (isSuccessful) {
|
||||
console.log(chalk.green('Compiled successfully!'));
|
||||
|
||||
4
packages/react-scripts/scripts/build.js
vendored
4
packages/react-scripts/scripts/build.js
vendored
@@ -142,7 +142,9 @@ function build(previousFileSizes) {
|
||||
if (err) {
|
||||
return reject(err);
|
||||
}
|
||||
const messages = formatWebpackMessages(stats.toJson({}, true));
|
||||
const messages = formatWebpackMessages(
|
||||
stats.toJson({ all: false, warnings: true, errors: true })
|
||||
);
|
||||
if (messages.errors.length) {
|
||||
// Only keep the first error. Others are often indicative
|
||||
// of the same problem, but confuse the reader with noise.
|
||||
|
||||
Reference in New Issue
Block a user