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);
        }
Ejemplo n.º 2
0
        // 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?}");
            });
        }