-
-
Notifications
You must be signed in to change notification settings - Fork 26.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compress when building #1908
Comments
We could, what is the benefit (vs letting the server do it)? |
@nikolay-g Just add the compression command of whatever tool you need to the end of the |
I don't mind doing it by default really. Just curious what the benefits are. |
When serving content from an object storage (i.e. without NodeJS server), it makes sense to deploy the already compressed content. It this is done at the webpack level, then |
Hello everyone,
If you use AWS, Azure or Bluemix, they will compress it for you. @nikolay-g you shouldn't have to worry to do it manually in my opinion. |
@baptistemanson there things you mentioned are handled by the webserver (such as nginx), whic would read the file, detect/guess the appropriate mimetype and then send the static file to the client. @gaearon giving that this is not something everyone would need (I imagine the biggest use case being a S3 deployment), is it necessary to support from within RCA? It can be easily done with a custom command/script that can be added in package.json (for example, calling $ gzip from the command line) |
Something like this should work for you, right? "scripts": {
"build":"react-scripts build",
"ship-to-s3": "gzip -r build && aws s3 cp -r build/ ... "
} Cloudfront, the CDN based on S3 by Amazon compresses for you. By looking at our analytics, 5% of users do not accept gzip as a valid encoding right now in prod for our websites. |
Hi guys! I'm going to close this because it's probably not something we're going to support by default. Using @baptistemanson's suggestion is the way to go. Let me know if there's a compelling reason to reconsider. |
This was surprising to me. Right now this guides people towards shooting themselves in the foot, especially with the deployment recommendations in the README and in Heroku's docs. There are two other issues about it (#3169 and #1117) with folks saying this is unexpected as well. Worse, the output from the
One option could be to update the docs to recommend gzipping, and updating the docs for each deployment option recommended in the README. Another option could be to add in https://github.com/webpack-contrib/compression-webpack-plugin to https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/config/webpack.config.prod.js#L263 so that Folks have mentioned that it's common for gzipping to be done on-the-fly by the webserver. FWIW, in my experience I haven't seen this in practice and compressing at build time has been more common. If folks adding recommended deployment options to the @gaearon mentioned being open to pull requests in #1117 (comment), I'm happy to add in https://github.com/webpack-contrib/compression-webpack-plugin if folks are open to it. |
I think a postbuild script in the package json does the job quite well no need for anything else, maybe just add it in the documentation can be good for everybody? |
As a part of
npm run build
, can I also compress in addition to minifying?The text was updated successfully, but these errors were encountered: