如何将Google Closure应用到我的整个网页?

时间:2009-12-13 20:46:40

标签: javascript compression google-closure-compiler

Google有一个名为“Closure”的非常好的JavaScript压缩器

http://closure-compiler.appspot.com/home

但是在HTML文件中使用内联JavaScript会很痛苦。

问题:是否存在一个在线工具,我只是输入“uncompress.html”,并且它还会压缩所有内联JavaScript压缩的HTML版本?

3 个答案:

答案 0 :(得分:2)

缩放器,混淆器和压缩器旨在解决加载页面时下载外部元素的问题。它们从未打算用于内联JavaScript或CSS,因为许多内容通常都保存在页面外的单独文件中。

因为你应该尽可能多地使用gzip,对于可以处理gzip的浏览器,实际上你的内联css / javascript在页面上没有缩小是不可能的。

答案 1 :(得分:1)

如果您使用PHP,您可以用这种方式调用google的编译器,然后使用标头返回javascript

<?php
    $script = file_get_contents('http://www.domain.com/scripts/script.js');
    $ch = curl_init('http://closure-compiler.appspot.com/compile');

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, 'output_info=compiled_code&output_format=text&compilation_level=SIMPLE_OPTIMIZATIONS&js_code=' . urlencode($script));
    $output = curl_exec($ch);
    curl_close($ch);

    header('Content-type: application/javascript');
    echo $output;

?>

link php code

答案 2 :(得分:0)

镜像AutomatedTester的评论,你真的不应该把这么多的内联JavaScript放到你的HTML文件中。

但是如果你真的因某种原因真的想这样做,为什么不能这样做:

  1. 制作一个包含该文本的文本文件 的JavaScript
  2. 用它压缩 闭合
  3. 将其复制到您的 <script></script>标记
  4. 我知道这不是自动的,但是你只需要在部署时执行此操作,并且每小时都没有部署,对吧?

    我没有看到太多需要最小化HTML,因为gzip通常做得很好......