Comments (5)
Add the compression
middleware before this middleware (https://github.com/expressjs/compression).
from serve-static.
@dougwilson thats a fine solution, and my current one. I was under the impression that it was more performant to serve pre gzipped files and thought it would be a good feature for this lib.
from serve-static.
It is never performant to serve static files from Node.js, because all file I/O uses a small thread pool. Many modules currently exist on npm
and there is a PR with some initial ideas about adding it here I have not yet looked at enough besides to say it's missing some error handing that will crash the server.
from serve-static.
The module https://github.com/code42day/connect-gzip-static is a good one, and even uses the same core modules this module does.
from serve-static.
@dougwilson I think this can rather be meant a little differently. E.g. why not caching gzipped buffers after first read, instead of always streaming the file. This would only take some boilerplate with node core libs. The only non-straightforward thing is to not to allow certain clients (like older IE versions) to retrieve gzip data streams, as they can't accept it properly.
The behaviour could be only enabled with an option flag.
This would mitigate the typical node caveat you mentioned by a lot.
I think it's worth having it in the ecosystem.
from serve-static.
Related Issues (20)
- how to prevent a file from being served HOT 2
- Add option to remove trailing slashes, as opposed to adding them HOT 9
- Support gzip static serving HOT 8
- Please add types for typescript HOT 1
- FR: Ability to always call next() HOT 8
- Extensions vs Directory HOT 1
- feature request: enable mapping url to a different file via a callback HOT 1
- Question: Is it possible to access the origin from setHeaders()? HOT 4
- Issue with Example Code HOT 4
- Make 'immutable' cache-control value HTTP/3 QPACK compatible HOT 1
- Use seconds instead of milliseconds for maxAge HOT 2
- 404 returned insted of 403 when uisng the dotfiles with "deny option" HOT 8
- setHeaders: need to access req.query HOT 2
- Corrupted file served if file is changed during serving. HOT 4
- Omitted `Content-Type` header when passing index file HOT 2
- Angular 13 SSR serve is failing with error - TypeError: Right-hand side of 'instanceof' is not an object HOT 5
- How to disable range requests in Next.js ? HOT 1
- Cannot use namespace 'HttpError' as a type HOT 2
- When the index is set to false, requests ending with / are being served with the content type header set to application/octet-stream instead of actual file's content type HOT 4
- error TS2688: Cannot find type definition file for 'mime'. HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from serve-static.