dotnet add package CompressedStaticFiles --version 2.1.0
NuGet\Install-Package CompressedStaticFiles -Version 2.1.0
<PackageReference Include="CompressedStaticFiles" Version="2.1.0" />
paket add CompressedStaticFiles --version 2.1.0
#r "nuget: CompressedStaticFiles, 2.1.0"
// Install CompressedStaticFiles as a Cake Addin #addin nuget:?package=CompressedStaticFiles&version=2.1.0 // Install CompressedStaticFiles as a Cake Tool #tool nuget:?package=CompressedStaticFiles&version=2.1.0
<p align="center"> <a href="https://github.com/AnderssonPeter/CompressedStaticFiles"> <img src="icon.svg" alt="Logo" width="80" height="80"> </a>
<p align="center"> Send compressed static files to the browser without having to compress on demand, also has support for sending more advanced image formats when the browser has support for it. <br /> <br /> · <a href="https://github.com/AnderssonPeter/CompressedStaticFiles/issues">Report Bug</a> · <a href="https://github.com/AnderssonPeter/CompressedStaticFiles/issues">Request Feature</a> · </p> </p> <br />
Table of Contents
About The Project
This project allows you to serve precompressed files to the browser without having to compress on demand, this is achieved by compressing/encoding your content at build time.
Static nonimage files have to be precompressed using Zopfli and/or Brotli, see the example for how to do it with gulp.
The files must have the exact same filename as the source +
index.html would be
index.html.br for the Brotli version).
Modern browsers support new image formats like webp and avif they can store more pixels per byte.
You can convert your images using the following tools webp and libavif.
The files must have the same filename as the source but with a new file extension (
image.jpg would be
image.webp for the webp version).
AddCompressedStaticFiles() in your
By default CompressedStaticFiles is configured to allow slightly larger files for some image formats as they can store more pixels per byte, this can be disabled by calling
A example can be found in the Example directory.
By using this package the Lighthouse mobile performance went from
98 and the transferred size went from
526 kb to
This solution is based on @neyromant from the following issue https://github.com/aspnet/Home/issues/1584#issuecomment-227455026.
|Product||Versions Compatible and additional computed target framework versions.|
|.NET||net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed.|
- No dependencies.
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
Added support for space in filenames
Added support for RequestPath
Added support for .net 6.0
Removed support for .net 5.0
Removed support for .net 3.1
Added support for alternative image formats
Added support for .net 5
Removed support for .net core 2.1
Added support for .net core 3.1
New feature: Ability to specify a custom FileProvider (now using the FileProvider provided in the StaticFileOptions if it is set)
Converted to .NET Standard 1.6
Fixed issue that disabled caching parameters.
Added support for IIS.
Picks original file if its the smallest
Added support for .NETFramework 4.5.1