将外部和内部 javascript 文件组合成尽可能少的资源?

Posted

技术标签:

【中文标题】将外部和内部 javascript 文件组合成尽可能少的资源?【英文标题】:resource to combine external and internal javascript files into as few as possible? 【发布时间】:2013-06-26 12:22:51 【问题描述】:

我正在寻找一种将多个 javascript 文件组合成尽可能少的解决方案。我目前有许多来自 twitter、facebook、google+ 等外部来源的文件,而我自己的也很少。

是否有可能以某种方式自动将其合并为一个或尽可能少的文件?

如果不是全部,则单独组合外部和内部文件。

【问题讨论】:

您是否尝试过将它们全部放在一个大 js 文件中并将其链接到您的页面中? 我建议您只将所有自己的文件合并为一个文件,将其缩小并单独保留其他外部文件(推特等),以充分利用缓存,就像您的客户一样浏览器缓存中已经有这些文件。 如果您编译外部文件并从您的服务器托管它们,您将遇到 CORS 问题。 【参考方案1】:

如果可以选择下载外部文件并将它们放置在您的服务器中,您可以使用如下工具:

Gruntjs Sprockets Apache ant RequireJs Optimizer

将 js 编译成一个大文件(通常是缩小)。

话虽如此,我建议您将外部文件保存在加载它们的外部 cdn 中,因为它们可能会缓存它们并且速度会更快。

请记住,只有一个文件并不总是最好的方法(这取决于结果文件的大小、是否真的需要加载等)。

【讨论】:

以上是关于将外部和内部 javascript 文件组合成尽可能少的资源?的主要内容,如果未能解决你的问题,请参考以下文章

如何将多个外部 Javascript 脚本合并为一个?

如何使用 webpack 将多个节点 js 文件组合成一个包

使用javascript(客户端)将来自两个不同视频的两个剪辑组合成一个视频?

将一个组组合成多个组而不重复

如何将数组元素组合成一个新数组?

如何使用 CSS sprites 组合图像