我正在开发一个单页网站,其中包含大约十几个 .js 文件,也许还有六个 .css 文件。

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

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

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

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

有帮助吗?

解决方案 4

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

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

它是一个批处理文件,结合了本地版本的串联、YUI Compressor 和 Dean Edward's 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

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

其他提示

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

前几天我才问这个问题。在厌倦了网络之后,我想出了这个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%"

但如果有更自动化的做事方式,我真的很喜欢它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top