我正在制作一个单页网站,其中包含大约十二个.js文件,也许还有六个.css文件。
大多数.js文件都是jQuery插件。 除了基本的css文件之外,CSS文件用于相应的jQuery插件。
YUI Compressor似乎是压缩CSS和JS文件的最爱。但是,它只压缩单个文件。
我还希望将我的文件和(理想情况下)结合使用一个.js和一个.css文件(都是压缩的)。
是否有任何首选工具允许您自动将.js和.css文件合并到一个文件中,以便可以通过YUI压缩器运行?
答案 0 :(得分:3)
如果你知道一点,php,我发现这是最好的方式:http://www.thedanglybits.com/2007/06/21/minify-your-external-javascript-and-css-with-php/
答案 1 :(得分:2)
您可能想要查看链轮(http://www.getsprockets.com/)。
答案 2 :(得分:2)
前几天我才问这个问题。在厌倦了网络之后,我想出了这个hackish(windows批处理文件)解决方案。
@echo off
set TUNA_ROOT=C:\path\to\webroot
set YUI_COMPRESSOR_PATH=C:\path\to\yuicompressor-2.4.2\build
set TEMP_JS_FILE=%TUNA_ROOT%\scripts\all_scripts_temp.js
set OUTPUT_JS_FILE=%TUNA_ROOT%\scripts\tuna_min.js
if exist "%TEMP_JS_FILE%" del "%TEMP_JS_FILE%"
if exist "%OUTPUT_JS_FILE%" del "%OUTPUT_JS_FILE%"
type "%TUNA_ROOT%\Scripts\MicrosoftAjax.js" >> "%TEMP_JS_FILE%"
echo. >> "%TEMP_JS_FILE%"
echo. >> "%TEMP_JS_FILE%"
type "%TUNA_ROOT%\Scripts\MicrosoftMvcAjax.js" >> "%TEMP_JS_FILE%"
echo. >> "%TEMP_JS_FILE%"
echo. >> "%TEMP_JS_FILE%"
rem ...and so on...
java -jar "%YUI_COMPRESSOR_PATH%\yuicompressor-2.4.2.jar" -v --charset utf-8 -o "%OUTPUT_JS_FILE%" "%TEMP_JS_FILE%"
if exist "%TEMP_JS_FILE%" del "%TEMP_JS_FILE%"
但如果有更自动化的做事方式,我真的很喜欢它。
答案 3 :(得分:1)
我最终绊倒了这个选项:
这是一个批处理文件,它结合了本地版本的串联,YUI Compressor和Dean Edward的Packer。
但最终,我无法让Packer在本地工作。它一直在破坏我的.js。
所以,我跳过那部分,然后通过在线Packer运行我的YUI Compressed代码,只看到压缩率进一步增加1%,所以只省略了Packer阶段。
最后,我的解决方案使用了上述链接指令和稍微修改过的批处理文件:
输入.. \ js-in *> jb.js java -jar .. \ yui \ build \ yuicompressor-2.4.2.jar jb.js -o jb-yui.js
感谢所有其他(有效)解决方案。很多好消息!
答案 4 :(得分:0)
我几乎专门用这个网站压缩我的JS和CSS文件:
http://www.lotterypost.com/js-compress.aspx
http://www.lotterypost.com/css-compress.aspx