Google 有一个非常棒的 JavaScript 压缩器,叫做“Closure”
http://closure-compiler.appspot.com/home
但是在 HTML 文件中使用内联 JavaScript 会很痛苦。
问题:是否存在在线工具,我只需输入“uncompress.html”,它会输出该 HTML 的压缩版本,同时压缩所有内联 JavaScript?
Google 有一个非常棒的 JavaScript 压缩器,叫做“Closure”
http://closure-compiler.appspot.com/home
但是在 HTML 文件中使用内联 JavaScript 会很痛苦。
问题:是否存在在线工具,我只需输入“uncompress.html”,它会输出该 HTML 的压缩版本,同时压缩所有内联 JavaScript?
缩小器、混淆器和压缩器旨在解决加载页面时下载外部元素的问题。它们从来不打算用于内联 JavaScript 或 CSS,因为其中很多通常保存在页面之外的单独文件中。
由于您应该尽可能多地进行 gzip 压缩,因此对于可以处理 gzip 的浏览器,实际上您的内联 css/javascript 没有在页面上被缩小并不重要。
如果你使用PHP,你可能会这样调用google的编译器,然后使用header返回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;
?>
镜像 AutomatedTester 的评论,你真的不应该把这么多的内联 JavaScript 放到你的 HTML 文件中。
但是,如果您真的出于某种原因真的想这样做,为什么不能:
<script></script>
标签中我知道这不是自动的,但是您应该只需要在部署时执行此操作,而且您不是每小时都进行部署,对吗?
我没有看到太多需要最小化 HTML,因为 gzip 通常做得足够好......