实例介绍
ASP.NET Core Web优化器是一个中间件,专门用于在运行时对CSS和JavaScript文件进行打包和压缩。它通过全面的服务端和客户端缓存确保高性能,无需复杂的构建过程和麻烦。
Web优化器通过设置静态文件的处理管道,使得这些文件在发送到浏览器之前可以被转换(压缩、打包等)。这个管道非常灵活,可以对同一文件进行多种不同的转换。
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddWebOptimizer(pipeline =>
{
pipeline.MinifyJsFiles("js/a.js", "js/b.js", "js/c.js");
pipeline.MinifyCssFiles("css/**/*.css");
});
}
安装和设置非常简单,只需将LigerShark.WebOptimizer.Core NuGet包添加到任何ASP.NET Core 2.0项目中,并在Startup.cs中配置即可启动中间件。此外,Web优化器还支持标签助手、缓存破坏、内容内联等高级功能,帮助开发者轻松实现资源的优化管理。通过定制管道和扩展插件,开发者可以进一步控制资源处理的细节,实现更加精细的性能优化策略。
【实例截图】
【核心代码】
文件清单
└── WebOptimizer-3356aa9a49b7638473a6f122bcc6f6008c809723
├── appveyor.yml
├── art
│ └── logo64x64.png
├── docs
│ ├── _config.yml
│ ├── custom-pipeline.md
│ └── README.md
├── LICENSE
├── README.md
├── sample
│ ├── appsettings.json
│ ├── appsettings.production.json
│ ├── Pages
│ │ ├── Bundle.cshtml
│ │ ├── Index.cshtml
│ │ ├── Inline.cshtml
│ │ ├── _Layout.cshtml
│ │ ├── Scss.cshtml
│ │ ├── _ViewImports.cshtml
│ │ └── _ViewStart.cshtml
│ ├── Plugins
│ │ ├── PrependHeader.cs
│ │ └── SassCompiler.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── scripts
│ │ ├── a.js
│ │ └── b.js
│ ├── Startup.cs
│ ├── WebOptimizer.Core.Sample.csproj
│ └── wwwroot
│ ├── css
│ │ ├── a.css
│ │ └── b.css
│ ├── img
│ │ └── a.png
│ ├── js
│ │ ├── minus.js
│ │ └── plus.js
│ ├── random
│ │ ├── a.txt
│ │ └── b.txt
│ └── sass
│ └── site.scss
├── sample2
│ ├── WebOptimizer.Core.Sample2
│ │ ├── appsettings.Development.json
│ │ ├── appsettings.json
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── Models
│ │ │ └── ErrorViewModel.cs
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── Scripts1
│ │ │ └── Script1.js
│ │ ├── Scripts2
│ │ │ └── Script2.js
│ │ ├── Startup.cs
│ │ ├── Views
│ │ │ ├── Home
│ │ │ │ └── Index.cshtml
│ │ │ ├── Shared
│ │ │ │ ├── Error.cshtml
│ │ │ │ └── _Layout.cshtml
│ │ │ ├── _ViewImports.cshtml
│ │ │ └── _ViewStart.cshtml
│ │ ├── WebOptimizer.Core.Sample2.csproj
│ │ └── wwwroot
│ │ └── js
│ │ └── Script3.js
│ └── WebOptimizer.Core.Sample2.Lib
│ ├── AssemblyTools.cs
│ ├── EmbeddedScript1.js
│ ├── Scripts
│ │ └── EmbeddedScript2.js
│ └── WebOptimizer.Core.Sample2.Lib.csproj
├── src
│ └── WebOptimizer.Core
│ ├── AssetBuilder.cs
│ ├── AssetContext.cs
│ ├── Asset.cs
│ ├── AssetMiddleware.cs
│ ├── AssetPipeline.cs
│ ├── AssetResponse.cs
│ ├── AssetResponseStore.cs
│ ├── Build
│ │ ├── LigerShark.WebOptimizer.Core.props
│ │ └── LigerShark.WebOptimizer.Core.targets
│ ├── CompositeFileProviderExtended.cs
│ ├── Extensions
│ │ ├── ApplicationBuilderExtensions.cs
│ │ ├── ByteExtensions.cs
│ │ ├── CodeBundlingSettings.cs
│ │ ├── CssBundlingSettings.cs
│ │ ├── LoggerExtensions.cs
│ │ ├── ServiceExtensions.cs
│ │ └── TagHelperExtensions.cs
│ ├── FileVersionProvider.cs
│ ├── IAssetBuilder.cs
│ ├── IAssetContext.cs
│ ├── IAsset.cs
│ ├── IAssetPipeline.cs
│ ├── IAssetResponse.cs
│ ├── IAssetResponseStore.cs
│ ├── InCodeWebOptimizerConfig.cs
│ ├── IWebOptimizerOptions.cs
│ ├── Processors
│ │ ├── Concatenator.cs
│ │ ├── CssFingerprinter.cs
│ │ ├── CssImageInliner.cs
│ │ ├── CssMinifier.cs
│ │ ├── EnforceFileExtensions.cs
│ │ ├── HtmlMinifier.cs
│ │ ├── IProcessor.cs
│ │ ├── JavaScriptMinifier.cs
│ │ ├── Processor.cs
│ │ ├── RelativePathAdjuster.cs
│ │ ├── ResponseHeader.cs
│ │ └── UseContentRoot.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Taghelpers
│ │ ├── BaseTagHelper.cs
│ │ ├── LinkInlineHrefTagHelper.cs
│ │ ├── LinkTagHelper.cs
│ │ ├── ScriptInlineSrcTagHelper.cs
│ │ └── ScriptTagHelper.cs
│ ├── TagHelpersDynamic
│ │ ├── Helpers.cs
│ │ ├── LinkTagHelper.cs
│ │ ├── MinifyOnDemandTagHelper.cs
│ │ └── ScriptTagHelper.cs
│ ├── WebOptimizerConfig.cs
│ ├── WebOptimizer.Core.csproj
│ └── WebOptimizerOptions.cs
├── test
│ └── WebOptimizer.Core.Test
│ ├── AssetBuilderTest.cs
│ ├── AssetContextTest.cs
│ ├── AssetMiddlewareOptionsTest.cs
│ ├── AssetMiddlewareTest.cs
│ ├── AssetPipelineTest.cs
│ ├── AssetResponseStoreTest.cs
│ ├── AssetTest.cs
│ ├── ByteExtensionTest.cs
│ ├── Fact2.cs
│ ├── Mocks
│ │ └── HostingEnvironment.cs
│ ├── Processors
│ │ ├── ConcatenatorTest.cs
│ │ ├── CssFinterprinterTest.cs
│ │ ├── CssImageInlinerTest.cs
│ │ ├── CssMinifierTest.cs
│ │ ├── EnforceFileExtensionsTest.cs
│ │ ├── HtmlMinifierTest.cs
│ │ ├── JavaScriptMinifierTest.cs
│ │ ├── RelativePathAdjusterTest.cs
│ │ └── UseContentRootTest.cs
│ └── WebOptimizer.Core.Test.csproj
├── WebOptimizer.Core.Mvc3
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Controllers
│ │ └── HomeController.cs
│ ├── Models
│ │ └── ErrorViewModel.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Startup.cs
│ ├── Views
│ │ ├── Home
│ │ │ ├── Index.cshtml
│ │ │ └── Privacy.cshtml
│ │ ├── Shared
│ │ │ ├── Error.cshtml
│ │ │ ├── _Layout.cshtml
│ │ │ └── _ValidationScriptsPartial.cshtml
│ │ ├── _ViewImports.cshtml
│ │ └── _ViewStart.cshtml
│ ├── WebOptimizer.Core.Mvc3.csproj
│ └── wwwroot
│ ├── css
│ │ ├── site.css
│ │ └── test
│ │ ├── a.css
│ │ └── b.css
│ ├── favicon.ico
│ ├── img
│ │ └── a.png
│ ├── js
│ │ ├── site.js
│ │ └── test
│ │ ├── minus.js
│ │ └── plus.js
│ └── lib
│ ├── bootstrap
│ │ ├── dist
│ │ │ ├── css
│ │ │ │ ├── bootstrap.css
│ │ │ │ ├── bootstrap.css.map
│ │ │ │ ├── bootstrap-grid.css
│ │ │ │ ├── bootstrap-grid.css.map
│ │ │ │ ├── bootstrap-grid.min.css
│ │ │ │ ├── bootstrap-grid.min.css.map
│ │ │ │ ├── bootstrap.min.css
│ │ │ │ ├── bootstrap.min.css.map
│ │ │ │ ├── bootstrap-reboot.css
│ │ │ │ ├── bootstrap-reboot.css.map
│ │ │ │ ├── bootstrap-reboot.min.css
│ │ │ │ └── bootstrap-reboot.min.css.map
│ │ │ └── js
│ │ │ ├── bootstrap.bundle.js
│ │ │ ├── bootstrap.bundle.js.map
│ │ │ ├── bootstrap.bundle.min.js
│ │ │ ├── bootstrap.bundle.min.js.map
│ │ │ ├── bootstrap.js
│ │ │ ├── bootstrap.js.map
│ │ │ ├── bootstrap.min.js
│ │ │ └── bootstrap.min.js.map
│ │ └── LICENSE
│ ├── jquery
│ │ ├── dist
│ │ │ ├── jquery.js
│ │ │ ├── jquery.min.js
│ │ │ └── jquery.min.map
│ │ └── LICENSE.txt
│ ├── jquery-validation
│ │ ├── dist
│ │ │ ├── additional-methods.js
│ │ │ ├── additional-methods.min.js
│ │ │ ├── jquery.validate.js
│ │ │ └── jquery.validate.min.js
│ │ └── LICENSE.md
│ └── jquery-validation-unobtrusive
│ ├── jquery.validate.unobtrusive.js
│ ├── jquery.validate.unobtrusive.min.js
│ └── LICENSE.txt
└── WebOptimizer.sln
63 directories, 180 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论