代码之家  ›  专栏  ›  技术社区  ›  DA.

在压缩之前连接CSS和JS?工具?最佳实践?

  •  3
  • DA.  · 技术社区  · 15 年前

    我在一个只有一页的网站上工作,该网站包含了大约12个.js文件和可能6个.css文件。

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

    YUI Compressor 似乎是压缩CSS和JS文件的常用方法。但是,它只压缩单个文件。

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

    有没有什么首选的工具可以让你自动将.js和.css文件组合成一个文件,这样它就可以通过yui压缩器运行?

    5 回复  |  直到 6 年前
        1
  •  3
  •   Alec Gorge    15 年前
        2
  •  2
  •   jonnii    15 年前

    你可能想看看链轮( http://www.getsprockets.com/ )

        3
  •  2
  •   spender    15 年前

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

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

        4
  •  1
  •   DA.    15 年前

    我最终在这个选择上遇到了困难:

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

    它是一个批处理文件,结合了本地版本的concatenation、yui compressor和dean edward's packer。

    但最后,我还是无法让帕克在当地工作。它一直在腐蚀我的.js。

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

    最后,我的解决方案使用上面的链接指令,并对批处理文件进行了轻微修改:

    在jb.js中键入..\js Java-jar…\Yui\Buy\YoCimoPosioRo.2.4.2.JAR JB-JS-O JB-YUI.JS

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

        5
  •  0
  •   MatBanik    14 年前