3

我正在开发一个包含大约十几个 .js 文件和可能六个 .css 文件的单页站点。

大多数 .js 文件都是 jQuery 插件。除了基本的 css 文件外,CSS 文件还用于相应的 jQuery 插件。

YUI Compressor似乎是压缩 CSS 和 JS 文件的最爱。但是,它只压缩单个文件。

我还想合并我的文件,并且(理想情况下)最终得到一个 .js 和一个 .css 文件(均已压缩)。

是否有任何首选的工具可以让您自动将 .js 和 .css 文件合并到一个文件中,这样它就可以通过 YUI 压缩器运行?

4

5 回答 5

3

如果你知道一点,php,我发现这是最好的方法:http ://www.thedanglybits.com/2007/06/21/minify-your-external-javascript-and-css-with-php/

于 2009-09-12T00:47:23.560 回答
2

您可能想查看 sprockets ( http://www.getsprockets.com/ )。

于 2009-09-11T21:32:17.513 回答
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%"

但如果有更自动化的做事方式,我会非常喜欢它。

于 2009-09-11T21:32:50.287 回答
1

我最终偶然发现了这个选项:

http://johannburkard.de/blog/programming/javascript/automate-javascript-compression-with-yui-compressor-and-packer.html

它是一个批处理文件,结合了本地版本的串联、YUI Compressor 和 Dean Edward 的 Packer。

但最后,我无法让 Packer 在本地工作。它一直在破坏我的 .js。

所以,我跳过了那部分,然后通过在线 Packer 运行我的 YUI 压缩代码,只看到压缩进一步增加了 1%,所以省略了 Packer 阶段。

最后,我的解决方案使用了上​​面链接的指令和稍微修改的批处理文件:

输入 ..\js-in* > jb.js java -jar ..\yui\build\yuicompressor-2.4.2.jar jb.js -o jb-yui.js

也感谢所有其他(有效)解决方案。很多好资料!

于 2009-09-14T17:23:45.997 回答
0

我几乎只使用这个站点来压缩我的 JS 和 CSS 文件:
http ://www.lotterypost.com/js-compress.aspx
http://www.lotterypost.com/css-compress.aspx

于 2010-11-20T22:07:22.150 回答