目前是否存在可以缩小整个项目目录的解决方案?更重要的是,是否存在任何可以缩短类名、id 并在所有文档中保持一致的解决方案?

可以扭转这个局面的东西:

索引.html ---

<div class="fooBar">
  <!-- Code -->
</div>

样式.css ---

.fooBar { 
  // Comments and Messages
  background-color: #000000; 
}

索引.js ---

$(".fooBar").click( function () { 
  /* More Comments */
  alert( "fooBar" ); 
});

进入这个:

索引.html ---

<div class="a"></div>

样式.css ---

.a{background-color:#000;}

索引.js ---

$(".a").click(function(){alert("fooBar");});
有帮助吗?

解决方案

您要寻找的不是缩小,而是压缩。根据定义缩小 仅有的 删除空格,因为缩短标识符会改变界面,可能会破坏依赖于它的外部脚本。因此,缩小本质上比压缩“更安全”,尽管在封闭系统中(即。封装的 Web 应用程序),压缩可能是一个好主意。

对于 JavaScript, ,大多数人使用 YUI压缩器 或者 迪恩·爱德华兹的包装工.

对于 CSS, ,有很多工具可以“优化”样式,但我不知道有什么工具可以缩短类名。造成这种情况的原因可能有几个:

  1. 要压缩 CSS 文件,脚本需要知道包含该文件的所有 HTML 文件,以便更改其中的类和 id 引用。根据您网站的大小和结构,他的工作可能并不简单。
  2. 压缩后,语义 HTML 的可读性变得较差,如下所示 <span class="image_caption"> 变成 <span class="a12">, ,或者更糟的是, <p id="a12">.

绝对有可能做像你所描述的那样的事情(我实际上正在开发一个个人 CMS/框架 将要),但为了使其可维护,它可能必须是结构紧密的 CMS 的集成部分,每当发布新更改时都会在“幕后”压缩所有文件,同时保留所有原始文件,以便网站可以保持为一个整体。

其他提示

我使用 http://www.w3compiler.com/ 这确实压缩和模糊处理

我用 YUI压缩器 用于缩小我的 css 和 js 文件,以及一个名为 代替 自定义替换 html 中的字符串(删除注释、用 google api 替换本地 jquery 库等)

使用批处理文件对项目目录中具有特定扩展名的所有文件调用该程序,如下所示:

java -jar yuicompressor-2.4.2.jar -o temp\css\one-compressed.css temp\css\one.css
replace -quotes \q -srcdir temp\ -fname "*.php" -find "<script type=\qtext/javascript\q src=\qjs/jquery.js\q></script>" -replace "<script src=\qhttp://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js\q type=\qtext/javascript\q></script>"

等等。

到目前为止,我还没有找到任何好的混淆工具。但这两者本身就可以使缩小和压缩任务变得自动化并且变得更加容易。

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