public IJsMinifier CreateMinifier(string minifierName) { IJsMinifier minifier; switch (minifierName) { case "CrockfordJsMinifier": minifier = new CrockfordJsMinifier(); break; #if !NETSTANDARD1_6 case "MsAjaxJsMinifier": minifier = new MsAjaxJsMinifier(); break; case "YuiJsMinifier": minifier = new YuiJsMinifier(); break; #endif case "NUglifyJsMinifier": minifier = new NUglifyJsMinifier(); break; default: throw new NotSupportedException(); } return(minifier); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); // ×¢Òâ ÇëÏÈÇåÒ»ÏÂä¯ÀÀÆ÷»º´æ //¿ª·¢Ä£Ê½ //HtmlStaticFileAttribute.IsDevelopmentMode = true; //ÉèÖûº´æÎļþ¼Ð HtmlStaticFileAttribute.OutputFolder = @"D:\html"; //ʹÓÃѹËõ HtmlStaticFileAttribute.UseBrCompress = true; HtmlStaticFileAttribute.UseGzipCompress = true; //ÉèÖÃÒ³Ã滺´æʱ¼ä 3·ÖÖÓ HtmlStaticFileAttribute.ExpireMinutes = 3; // ¿ªÆôhtmlѹËõ HtmlStaticFileAttribute.MiniFunc += (string html) => { var js = new NUglifyJsMinifier(); var css = new NUglifyCssMinifier(); XhtmlMinifier htmlMinifier = new XhtmlMinifier(null, css, js, null); var result = htmlMinifier.Minify(html); if (result.Errors.Count == 0) { return(result.MinifiedContent); } return(html); }; app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); }); }