ASP.NET - 脚本和 CSS 压缩
ASP.NET 中是否有可用的本机压缩(针对 javascript/css 文件)?
Is there any native compression (for javascript/css files) available in ASP.NET?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
尝试一下奇皮。 它会混合、缩小并验证您的 javascript、样式表和无点文件。
您可以使用 YUI 压缩机或 Google Closure 编译器。
http://chirpy.codeplex.com/
或者,有关详细信息,请查看:
http://www .weirdlover.com/2010/05/22/visual-studio-add-in-for-dotless-js-and-css-files/
Try Chirpy. It mashes, minifies, and validates your javascript, stylesheet, and dotless files.
You can use YUI Compressor or Google Closure Compiler.
http://chirpy.codeplex.com/
Or, for more info, check out:
http://www.weirdlover.com/2010/05/22/visual-studio-add-in-for-dotless-js-and-css-files/
在 专业 ASP.NET 3.5 的附录中,Scott Hanselman 谈论.NET 打包程序。 这将与 MSBuild 集成并打包 javascript 文件以进行生产部署等。
In the appendix of Professional ASP.NET 3.5 Scott Hanselman talks about Packer for .NET. This will integrate with MSBuild and pack javascript files for production deployments etc.
您可以使用 Packer。
该实用程序支持 JavaScript 压缩和/或“缩小”,以及 CSS“缩小”。
它可以作为命令行实用程序使用,也可以作为 MSBuild 任务使用。
这样您就可以将其集成到您的构建过程/Visual Studio 项目中。
You could use Packer.
This utlity supports JavaScript compression and /or "minifying", and CSS "minifying".
It's available as a command line utility or also as an MSBuild task.
This way you can integrate it into your build process / Visual Studio project.
IIS 中支持 Gzip/Deflate 压缩,与除 IE6 之外的所有现代浏览器兼容。 对于 IIS 7,请检查此页面: http://www.iis.net/ConfigReference/system .webServer/http压缩
There is Gzip/Deflate compression support in IIS compatible with all modern browsers except IE6. For IIS 7 check this page: http://www.iis.net/ConfigReference/system.webServer/httpCompression
除了其他答案和评论之外,您可以使用 Yahoo! 的 YUI 压缩机 并制作它MSBuild 任务将其集成到您的构建和部署过程中。
Further to other answers and comments, you can use Yahoo!'s YUI Compressor and make it an MSBuild Task to integration it into your build and deployment process.
尝试使用 StyleManager 进行 CSS 组合和缩小。 它在底层使用 YUI 压缩机。
它的用法很像asp.net的ScriptManager,所以很快就能习惯。 添加到您的项目也很容易,只需一分钟。
最重要的是 - 它也结合了您的 CSS 文件。 因此,下载的 CSS 文件不再是 10 个,而是 1 个,而且还会被压缩等。
Try StyleManager for CSS combination and minification. It uses YUI Compressor under-the-hood.
Its usage is a lot like asp.net's ScriptManager, so it's quick to get used to. It's easy to add to your project too, only takes a minute.
Most importantly - it combines your CSS files too. So instead of having like 10 CSS files to download it'll just be 1, which will also be compressed etc.
我已经写了一些东西来为我做到这一点,你可以在这里下载:
http://www.picnet.com.au/blogs/Guido/post/2009/12/10/Javascript-runtime-compilation-using-AspNet-and-Googles-Closure-Compiler.aspx< /a>
它使用 Google 的闭包编译器,非常棒。
谢谢吉
多
I have written something to do this for me, you can download it here:
http://www.picnet.com.au/blogs/Guido/post/2009/12/10/Javascript-runtime-compilation-using-AspNet-and-Googles-Closure-Compiler.aspx
It uses Google's closure compiler which is pretty awesome.
Thanks
Guido
这是我的方法:
使用MVC。
通过 MVC 控制器的操作处理 js|css 内容。
将多个文件合并为一个。
在将 script|css 存储到缓存之前,对其进行动态压缩和混淆。
缓存结果。
使用缓存依赖项。
为动态内容启用 gzip。
在缓存之前启用 gzip 功能。
只需使用 ASP.NET MVC Js/Css Composer/Compressor 在操作方法上添加自定义属性即可完成所有操作。
示例:
您可以从 CustomTextPostProcessingAttribute 派生,并根据需要对任何类型的文本内容进行自己的后处理。
Here is my way:
Use MVC.
Process js|css content via MVC controller's actions.
Combine multiple files into one.
Minify and obfuscate script|css on fly before it stored in cache.
Cache results.
Use CacheDependency.
Enable gzip for dynamic content.
Enable gzip before cache feature.
Everything can be done just by adding custom attributes on action methods, using ASP.NET MVC Js/Css Composer/Compressor.
Sample:
You can derive from CustomTextPostProcessingAttribute and make your own postprocessing for any type of text content, you need.
我今天刚刚学到了一些东西:你可以通过 Windows 控制台运行 JavaScript。 我是 cssmin.js 的粉丝; 所以,这加上Windows控制台=胜利! 您所要做的就是下载 cssmin.js,将其放入 Web 项目的文件夹中,然后在 Visual Studio 中添加以下构建后事件:
这样做可以使您不必编辑项目 按照 ajaxmin 的要求。
I just learned something today: you can run JavaScript via windows console. I'm a fan of cssmin.js; so, this plus windows console = win! All you have to do is download cssmin.js, put it in a folder on your web project and add the following post-build event in Visual Studio:
Doing this keeps you from having to edit your project as ajaxmin would have you to do.