我一直在我的应用程序中使用Combres来在运行时压缩,组合和缩小我的javascript和css。这非常有效并且完美地满足YSlow。
现在我出于性能原因重新思考整个过程,我更倾向于在构建时而不是运行时完成所有这些。
我希望我能在没有太多麻烦的情况下就如何做到这一点得到一些建议。是否有现成的工具(类似于Combres)可以做我需要的工作?
答案 0 :(得分:13)
认识Chirpy
Chirpy Mashes,缩小并验证您的javascript,样式表和无点文件。
Chirpy很傻。使用Google Closure Tools或YUI Compressor for .Net来缩小和混合您所有的宝贵资产。它很简单,灵活,而且是自动的。
答案 1 :(得分:4)
MSBuild社区任务项目有一个JSCompress任务。在这里查看项目:http://msbuildtasks.tigris.org/
以下是有关如何实际执行此任务的另一个资源:http://www.justise.com/2007/04/20/javascript-and-css-compression-in-msbuild/
答案 2 :(得分:2)
我最初使用Chirpy进行捆绑,但后来转移到Bundler。 Bundler允许我相对轻松地在一个性感的构建文件(powershell)中很好地连接所有内容。我个人已经远离Visual Studio Build事件,并开始在独立环境中运行构建。这有助于我处理Github到Team City持续集成(CI)等事情。
以下是您的构建文件“可能”的样子。 (注意可能没有完全运行,这是未经测试的)
# Set up varriables for build script
$invocation = (Get-Variable MyInvocation).Value
$directorypath = Split-Path $invocation.MyCommand.Path
$BundlerDir = "$directorypath\build_tools\bundler\"
$AppRoot = "$directorypath\SomeApp.Web\"
$ScriptsDir = "scripts\"
$CssDir = "css\"
# Run Bundler to Combine and Minify
&($BundlerDir + "node.exe") ( $BundlerDir + "bundler.js") ($AppRoot +$CssDir) ($AppRoot + $ScriptsDir)
# Everything else...
# Clean the bins
# Build the projects
# Run the tests
答案 3 :(得分:0)
您还可以查看ajaxtoolkit,他们有2个任务来压缩JS。