MVC.NET核心UseStaticFiles on PrepareResponse未命中JavaScript文件
我正在尝试为我的静态文件(主要是JavaScript)设置GZIP,这些文件已经使用Webpack的压缩插件(CompressionWebpackPlugin)进行了预压缩 我跟随这篇文章介绍了如何使用.NETCore-提供预压缩静态文件 我的MVC.NET核心UseStaticFiles on PrepareResponse未命中JavaScript文件,javascript,asp.net-mvc,asp.net-core,optimization,gzip,Javascript,Asp.net Mvc,Asp.net Core,Optimization,Gzip,我正在尝试为我的静态文件(主要是JavaScript)设置GZIP,这些文件已经使用Webpack的压缩插件(CompressionWebpackPlugin)进行了预压缩 我跟随这篇文章介绍了如何使用.NETCore-提供预压缩静态文件 我的启动中有以下内容。配置方法: var mimeTypeProvider = new FileExtensionContentTypeProvider(); app.UseStaticFiles(new StaticFileOptions { OnP
启动中有以下内容。配置方法:
var mimeTypeProvider = new FileExtensionContentTypeProvider();
app.UseStaticFiles(new StaticFileOptions
{
OnPrepareResponse = context =>
{
var headers = context.Context.Response.Headers;
var contentType = headers["Content-Type"];
if (contentType != "application/x-gzip" && !context.File.Name.EndsWith(".gz"))
{
return;
}
var fileNameToTry = context.File.Name.Substring(0, context.File.Name.Length - 3);
if (mimeTypeProvider.TryGetContentType(fileNameToTry, out var mimeType))
{
headers.Add("Content-Encoding", "gzip");
headers["Content-Type"] = mimeType;
}
}
});
这似乎没有什么帮助,我的资产没有压缩。在onpreparereresponse
操作方法中添加断点时,任何JavaScript文件都不会命中该断点。但它确实因为我的favicon和我的徽标图像而受到了冲击
我也试过这个NuGet软件包——它似乎也没有解决我的问题
以下是我的wwwroot文件夹的屏幕截图,以供参考:
我正在尝试使用my_Layout.cshtml视图中的以下引用为/dist文件夹中的JS文件提供服务:
<script src="~/dist/vendors~main.bundle.js"></script>
<script src="~/dist/main.bundle.js"></script>
这是一个bug还是我只是做错了什么?只是提醒一下-这看起来像是.NET Core的问题。.NET核心人员正在这里进行调查:
app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions
{
HotModuleReplacement = true
});