当前位置:  开发笔记 > 编程语言 > 正文

你把你的javascript放在哪里?

如何解决《你把你的javascript放在哪里?》经验,为你挑选了2个好方法。

您是否将您的javascript本地化到页面,或拥有主"application.js"或类似的?

如果是后者,那么确保你的.js没有在错误的页面上执行的最佳做法是什么?

编辑:通过javascript我的意思是你作为开发人员编写的自定义javascript,而不是js库.我无法想象有人会将jQuery源复制/粘贴到他们的页面中,但你永远不会知道.



1> Tim Merrifie..:

将所有j放在一个文件中可以帮助提高性能(只有一个请求而不是几个请求).如果您使用的是像Akamai这样的内容分发网络,它可以提高您的缓存命中率.此外,始终在页面的最底部(正文标签上方)抛出内联js,因为它是同步执行的,可能会使页面延迟渲染.

是的,如果您正在使用的js文件之一也在谷歌托管,请确保使用该文件.



2> Orion Edward..:

这是我的"指南".请注意,这些都不是正式的,它们似乎是正确的做法.

所有共享的JS代码都存在于SITE/javascripts目录中,但它以"层"的形式加载

对于站点范围内的东西(如jquery或我的站点范围的application.js),站点范围的布局(这将是ASP.net中的母版页)包括该文件.该script标签位于页面的顶部.

还有"区域范围"的东西(例如:js代码,只在网站的管理部分需要).这些区域要么具有公共布局(可以包含脚本标记),要么呈现公共部分,而部分可以包含脚本标记)

对于不太共享的东西(比如我的库只需要在几个地方需要),我会script在这些HTML页面中单独放置一个标签.脚本标记位于页面顶部.

对于仅与单页相关的内容,我只需编写内联javascript.我尽量让它尽可能接近它的"目标".例如,如果我有一个onclick js按钮,script标签将在按钮下方.

对于没有目标的内联JS(例如:onload事件),它位于页面底部.


那么,如何进入本地化的库或站点范围的库?

第一次需要时,将其写入内联

下次需要时,将内联代码拉到本地化库

如果您从(大约)3个或更多位置引用本地化库中的某些代码,请将代码拉到区域范围的库中

如果需要来自多个地区,请将其提升到站点范围的库.

关于诸如此类系统的常见抱怨是,您最终会收到10或20个小型JS文件,其中2或3个大型JS文件从网络角度来看会表现得更好.但是,rails和ASP.NET都具有处理将多个JS文件组合和缓存到一个或多个"超级"js文件中以用于生产情况的功能.

我建议使用这样的功能,而不是牺牲实际源代码的质量/可读性.

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有