ASP.NET Core 2.0 中的 .js 文件无法获得响应压缩

Trouble getting Response Compression working for .js files in ASP.NET Core 2.0

我已按照这些说明配置我的应用程序 https://docs.microsoft.com/en-us/aspnet/core/performance/response-compression?tabs=aspnetcore2x

我想要默认值(Gzip、Fastest 等)所以我简单地通过 Startup.cs 修改为:

ConfigureServices() 中的

services.AddResponseCompression()Configure()app.UseMvc() 之前的 app.UseResponseCompression()

这似乎适用于 html 响应:

但不是我的静态 JavaScript 文件,这些文件更值得关注:

根据文档,application/javascript 被指定为用于压缩的默认 MIME 类型。

... and app.UseResponseCompression() immediately before app.UseMvc() in Configure()

JavaScript 文件由静态文件中间件提供服务,这就是为什么您应该在静态文件中间件之前添加压缩中间件。这是 Configure 方法的正确顺序:

app.UseResponseCompression();

app.UseStaticFiles();

app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "default",
        template: "{controller=Home}/{action=Index}/{id?}");
});