【发布时间】:2011-06-25 23:57:31
【问题描述】:
通过阅读许多文章,例如 How do I include a JavaScript file in another JavaScript file? - 显然不可能将一个脚本包含到另一个脚本中。
所以这是我的问题 - 我担心 JS 膨胀。或者在不使用/不需要它的页面上加载了太多未使用的代码。但是,有时,我需要在多个页面上使用相同的功能,而不是在所有页面上。
如果我们着眼于将在线应用程序的逻辑部分制作成对象,例如“客户”或“项目”,我们可能会有一堆特定于这些“对象”的代码。
例如,我可以有一个“个人资料”代码组来管理我的个人资料,它可能有多个使用 Ajax 的 div 弹出窗口,为了这个例子,让我们说我有几个函数可以控制我的“送货地址”,它们控制 div 弹出窗口,它们处理特定于该信息的 Ajax。 - 假设我为此目的有 4 个功能。但这只是一个更大的“profile.js”文件的一部分,它处理我所有的“profile”杂物......
现在我有了应用程序的另一部分 - 例如购物车 - 我需要允许用户访问“送货地址” div-pop-up 和所有 Ajax 功能。
我想我只想重用 profile.js 中的那些函数——因为“重新编写”做同样事情的代码似乎是“糟糕的形式”——因为那样我就会有很长时间术语代码维护问题 - 如果我进行了更改 - 我必须记住我使用该代码的任何地方。
所以如果让我推断“最佳实践”——考虑到这些技术工作方式的局限性——我不能像在服务器端那样“嵌套”和重用 js包括 OR CSS。
我的代码将不得不分解成单独的文件,并且(理论上)将使用许多较小的 .js 文件
所以我的<head> 看起来像这样
<head>
<script src='smallfile_1.js'...>
<script src='smallfile_2.js'...>
...
<script src='smallfile_10.js'...>
<head>
和“如果”我需要另一个页面中的部分
<head>
<script src='that_other_object_/smallfile_3.js'...>
</head>
...对这些较小文件的重复 TTP 调用不会成为开销吗?在流量大的应用程序中 - 似乎网络和服务器开销可能会开始成为一个问题,或者只是在鼹鼠山上造山?
100k 请求对 10 个 5k 文件是否真的相等 - 100k 请求对 1 个 50k 文件?
现在我把它写出来了——仔细想想——页面上的每一个图像也是对服务器的单独调用——所以也许我是在用一些不是' t 一个问题。
我能否获得一些关于其他人在跨模块重用 JS 代码方面所做的反馈 - 无需跨模块共享“巨大”文件。
【问题讨论】:
-
7 个问题,总共有 15 个答案,而您无法接受一个答案?
标签: javascript code-reuse