MVC5中的BundleConfig已经被废弃了,这使用第三方库 Karambolo.AspNetCore.Bundling.NUglify
引用nuget包
Karambolo.AspNetCore.Bundling.NUglify或 Karambolo.AspNetCore.Bundling.WebMarkupMin // 如果你还需要做less或scss等css预处理的操作 Karambolo.AspNetCore.Bundling.Less或Karambolo.AspNetCore.Bundling.Sass // 如果需要对ES6语法做处理 Karambolo.AspNetCore.Bundling.EcmaScript
Program.cs中注入
builder.services.AddBundling().UseDefaults(builder.Environment) // 必需的,告诉中间件当前的处理环境路径相关 .UseNUglify() // 或者 .UseWebMarkupMin() 都可以实现静态资源捆绑压缩 .AddLess() // 启用less预处理 .AddSass() // 启用sass预处理 .AddEcmaScript() // 启用es6脚本预处理 .EnableMinification().EnableSourceIncludes(false)// 启用压缩及不显示源文件 .EnableCacheHeader(TimeSpan.FromDays(1)); // 启用客户端缓存头
配置资源
app.UseBundling(bundles => { bundles.AddCss("/main.css").Include("/css/site.css").Include("/css/site1.css"); });
_ViewImports 中添加
@using Karambolo.AspNetCore.Bundling.ViewHelpers @addTagHelper *, Karambolo.AspNetCore.Bundling
就可以再View中使用
@await Styles.RenderAsync("~/bundles/main.css") @await Scripts.RenderAsync("~/bundles/main.js")