javascript - 将一个 javascript 文件与缩小的脚本分开的最佳方法是什么?

标签 javascript bundling-and-minification

我不确定这是否是表达我的问题的最佳方式。

我有一个脚本想要在网站的一个页面上运行。 所有 .js 文件都包含/导入到 app.js 文件中,然后该文件被缩小并包含在每个页面上使用的 layout.html 中。 我只想在其中 1 个页面上使用一个 javascript 文件(我不需要它的页面会在控制台中创建一个错误,所以我不能就离开它)。包含它的最佳方式是什么。我仍然可以将其包含在缩小的脚本中但仅包含在该页面上吗?

最佳答案

您基本上有三个选择:

  1. 将脚本包含在缩小的 app.js 中,但对其进行修改,以便检查是否需要它(例如,检查它需要处理的内容是否存在,而不是假设它们存在)在那儿)在运行之前。这样,app.js 在所有页面上都是相同的,可以保存在缓存中,您的构建脚本很简单,等等。

  2. 拥有 app.js(不包含脚本)和单独的缩小版脚本,您仅使用单独的 脚本将其包含在所需页面上 标签。您的构建脚本仍然相当简单,它仅向目标页面添加一个 HTTP 请求。

  3. 有两个缩小的 app.js 文件,app.jsapp-plus.js (或其他)。在所有其他页面上包含 app.js,但在目标页面上包含 app-plus.js。这使 layout.html 变得复杂,因为它必须确定要包含哪个脚本,并且使您的构建脚本变得复杂(非常轻微)。

除非特定于页面的脚本很大,否则选项 #1 可能是您的最佳选择,因为它很简单(一旦建立 HTTP 连接,额外的几千字节通常不是什么大问题),但这实际上取决于根据你的情况。如果您需要支持相当低带宽的消费者(使用高速率数据包的移动设备),那么可能会反对始终包含该脚本。这取决于你。

关于javascript - 将一个 javascript 文件与缩小的脚本分开的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52095987/

相关文章:

c# - 查询参数通过 SSL 传递,可能包含敏感信息

javascript - 如何为 svg 组的每个现有圆元素插入文本兄弟元素?

javascript - jqModal jQuery 插件 - 如何在模式弹出窗口上设置超时?

c# - 添加了捆绑和缩小...当我查看源代码时,它看起来仍然不是捆绑和缩小

javascript - 如何在 Visual Studio 中捆绑 JavaScript 和 CSS?

c# - 为管理员用户角色呈现未 bundle 的 Assets

javascript - BIRT 在脚本中将 HTML 文本转换为纯文本

javascript - Node.js 异步文件写入 (svg2img)

javascript - 在 OpenLayers 中创建复杂的特征/向量

64 位 IIS 7.5 服务器上的 ASP.NET/MVC 4 捆绑和缩小 404 问题