问题标签 [minify]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
470 浏览

javascript - 处理开发和大型 javascript 文件?

在处理包含大量 javascript 的网站时,我发现这些仍然通常作为一个大型 javascript 文件提供给客户端。

在开发阶段,是否通常将 javascript 文件拆分(比如超过 300 行 js)以使事情更易于管理,然后在网站“上线”时合并?还是开发人员只是忍受处理一个长长的大文件?

0 投票
11 回答
19716 浏览

javascript - 在缩小期间排除调试 JavaScript 代码

我正在寻找不同的方法来缩小我的 JavaScript 代码,包括常规的JSMin、Packer 和YUI解决方案。我对新的Google Closure Compiler非常感兴趣,因为它看起来异常强大。

我注意到Dean Edwards 打包程序具有排除以三个分号开头的代码行的功能。这很方便排除调试代码。例如:

我正在花一些时间清理我的代码库,并想添加这样的提示以轻松排除调试代码。在为此做准备时,我想弄清楚这是否是最好的解决方案,或者是否有其他技术。

因为我还没有选择如何缩小,所以我想以一种与我最终使用的任何缩小器兼容的方式来清理代码。所以我的问题是:

  1. 使用分号是一种标准技术,还是有其他方法可以做到这一点?

  2. Packer 是唯一提供此功能的解决方案吗?

  3. 其他解决方案是否也可以适应这种方式,或者他们是否有其他方法来实现这一点?

  4. 我可能最终会开始使用 Closure Compiler。我现在应该做些什么来为它做准备吗?

0 投票
1 回答
366 浏览

javascript - Microsoft Doloto(Javascript minifier/prefetcher)的生产就绪替代品?

您肯定知道 Microsoft Doloto 是一种工具,它可以分析您的 javascript 代码,因为它实际上在页面上运行并将其拆分为两个文件:一个文件将静态包含在页面的页脚中,其中包含所有函数的存根并加载实际在后台实现(在文件 2 中)(假设页面加载时只需要非常少的 javascript,因此您可以推迟下载其余的)。

我发现 Doloto 尚未准备好生产,同时它已被取消 afaik。有没有可行的替代方案?

0 投票
1 回答
1125 浏览

javascript - VSDoc 替代方案?

VSDoc 是一种很棒的 Javascript 注释方式,我特别喜欢让一个 Javascript 文件“依赖”另一个文件的能力。这为考虑到脚本包含的正确顺序的 Javascript 压缩器/组合器铺平了道路。

唯一可能困扰一些人的是它是VS -Doc。

是否有任何与供应商无关的竞争格式?

以及 Eclipse 等非 Microsoft IDE 使用的 VSDoc 标准有多广泛?

0 投票
4 回答
6718 浏览

javascript - 更好地组合和缩小 javascript 或使用 Google CDN?

我正在构建一个当前使用来自多个来源的 javascript 的站点:

第 1 组: Google Maps API v3(由 Google 托管)
第 2 组: jQuery 和 swfobject(在 Google CDN 上托管)
第 3 组:几个 jQuery 插件和非 jquery javascript 文件(托管在我的服务器上)

我正在使用 Justin Etheredge 的工具SquishIt来组合和缩小托管在我的服务器上的所有 javascript 文件(第 3 组)。

我想知道如果我要在本地托管(第 2 组)中的文件,以便它们可以与(第 3 组)中的所有其他文件组合并且只需要对组的一个 HTTP 请求,该站点是否会让用户“感觉”更快2 & 3。这意味着我没有得到谷歌 CDN 的好处

有人对此事有任何建议吗?

编辑: 另外,我将如何得出这个问题的基于数字的答案?那可能吗?

0 投票
1 回答
2118 浏览

javascript - 为什么 Google 的 Closure Compiler 会留下一些不必要的空格或换行符?

我注意到每次使用Google 的 Closure Compiler Service时,都会在页面右侧显示的编译代码中留下一些不必要的空格。这些对应于已编译代码的托管版本中的换行符。

例如(注意换行符,每一个似乎都没有必要):

http://troy.onespot.com/static/stack_overflow/closure_spaces.js

迄今为止,我只是手动删除它们,但我很好奇它们为什么在那里。是否限制托管版本代码的行长以使其更具可读性?编译器是否足够聪明,可以故意留下或插入那些以最大化 GZIP 压缩效果?

我知道它们对文件大小的影响微乎其微,但是在缩小源脚本中的每个最后一个字节方面付出了如此多的努力,为什么它们在那里是违反直觉的。

0 投票
2 回答
970 浏览

asp.net-mvc - ASP.NET MVC 2 最灵活的最小化器/压缩器?

根据您的经验,您处理过的 ASP.NET MVC 最灵活的最小化器/压缩器 (JS+CSS) 是什么?

至今

我的意思是灵活

  • 选择应该压缩、缩小和组合的内容
  • 添加例外。例如,如果调试不压缩 XYZ.JS 或不缩小 ABC.CSS
  • 缓存
  • 最后,它应该有助于提供最好的 YSLOW 分数。

如果您知道那里有任何其他组件,请也列出它们。

0 投票
2 回答
1307 浏览

php - 评估php生成的javascript“内联”?

如果您查看此页面的来源http://kingston.talking-newspapers.co.uk/,您会在顶部附近看到大量内联 javascript。

我真的不希望所有这些额外的东西漂浮在我的页面源代码中,我宁愿把它放到一个脚本标签中,然后我可以缩小它和各种各样的东西。

如果我将它称为 php 文件,理论上这应该有效,我只是用 php 结束 js 文件扩展名,并在标题中输入以下内容:

但是...很多用于在 javascript 中生成播放列表的 php 变量都设置在主 index.php 文件的开头,并且在像这样调用这个 php 生成的 js 播放列表文件时,它似乎完全评估它分开,所以它充满了错误。

我能想到的唯一方法是让页面写入一个文件,然后立即将其读入。另一件事是,播放列表可能会经常动态变化,所以我认为我需要缩小以不缓存它?

0 投票
6 回答
30380 浏览

html - Django:在发布前自动缩小 css/js 文件

我有以下情况:我想在开发期间使用未压缩的 js/css 文件(例如调试 js),但在生产中我想自动切换到该文件的缩小版本。

一些简单的解决方案是放入您的模板:

但这需要手动提供此类文件,并在原始文件更改后进行缩小手动操作。

你如何在你的项目中做到这一点?有什么工具可以做到这一点吗?

0 投票
2 回答
1662 浏览

javascript - Asp.Net MVC 在响应期间合并和删除内联脚本

我一直在对我正在处理的几个网站进行一些性能分析,我注意到一个大问题是内联脚本。对于外部脚本,我编写了一个 http 处理程序,它将 javascript 组合、缩小和 gzip 到一个文件中。然后通过散列文件名将其存储以供以后重复使用。

我想知道(不确定这是否是一个好主意,但我发布以获得一些反馈)是如果我删除所有脚本元素,其中包含脚本文本并将它们合并到一个文件中。然后,我使用与外部脚本相同的过程并将它们组合成一个脚本。

约翰