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?}");
});
我已按照这些说明配置我的应用程序 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?}");
});