2011-03-06 71 views
3

我正在撰写一篇文章,介绍在企业环境中使用JavaScript时的技巧/技巧/最佳实践。 “企业”可能有点模棱两可,因此,为了本文的目的,我们将其定义为:支持不必连接到Internet的网络中的多个基于Web的应用程序。企业JavaScript技巧

这里只是少数人的想法我有,让你的创意源源不断:

  • 确保所有图书馆都保持在一个中心,网络访问的位置,和所有的应用程序引用这些库(而不是保持独立的副本)。
  • 按版本引用的库,保证新版本不会破坏你的应用程序(没有jquery-latest,使用jquery - #。#。#代替)。
  • 的应用程序代码正确的命名空间

你能提供什么样的提示,以帮助我吗?

+0

看起来更像是一个公告而不是问题;) – Maxym 2011-03-06 19:22:57

+0

@Maxym:对不起,我已经添加了一个问题到最后让意图更清楚一点。 – 2011-03-06 19:42:48

回答

1

测试您的JavaScript上可能的最大的DOM大小。 IE6/7/8将根据执行的VM语句的数量挂起,而不是实际的运行时间。正则表达式和正则表达式jQuery选择器特别糟糕。

写少。特别是Javascript变得非常难以管理和调试超过一定大小的设置。将功能分解为不同的外部源文件可能会有所帮助,但始终考虑一种更好的方法来执行您的操作(例如:jquery插件。)

如果您要反复写入常规模式,请停止。要么创建一个全局方法,要么该方法作用于一个jQuery选择器,而是考虑编写自己的jQuery插件。

请勿使方法使用DOM对象或ID。传入jQuery对象本身,并对其进行操作。通过这种方式,您不会强制在您的方法上使用任何DOM约束(传入的对象可能甚至不在DOM上,或者它可能没有ID)。

不要修改原型。这打破了库/ jQuery。如果必须写一个插件或新的数据类型。

不要修改库;这打破了可升级性。通常你可以通过用自己的插件包装jQuery库并转发/拦截调用来实现类似的效果,类似于AOP。

当DOM仍在加载时,没有执行代码。这会导致竞争条件,只有在机器发生破损时才会发生,即使这样也不一致。

请勿使用jQuery设置页面的样式。这很诱人,但随着DOM的增长,FOUC变得更糟。在您的服务器页面中构建.first-child,.last-child等,而不是使用jQuery对其进行攻击。

+0

不错的硬编码jQuery到你的建议。请确保方法将dom对象放在适用的地方。在dom仍在加载时执行代码很好。尽管如此,在DOM仍在加载时操作DOM仍然很糟糕。 – Raynos 2011-03-06 19:48:50

+0

而不是一个jQuery对象传递给一个函数,为什么不把函数本身是一个jQuery插件? – Pointy 2011-03-06 19:58:35

1

也许我会回来,并添加更多...但现在我刚才在我的脑海几个:

1)缓存策略。企业服务器负载很重,为了处理http请求,知道如何处理它非常重要。例如。 JS可以缓存在客户端,但你应该知道如何“告诉”客户端新版本可用。

2)有不同的库,它将请求的计数减少到仅仅附加它们的JS文件(基于配置)。例如。对于Java,它是Jawr(只是其中之一)。这是更好地加载1,2,3脚本(读“文件”),而不是100(并且这个数字今天变为正常,在RIA的时代)。还有一个好的技巧Jawr呢,它创建压缩包,所以当客户端请求脚本服务器并不需要压缩它。 3)你的业务逻辑可以由应用服务器处理(当我们谈论Java时,可以是JBoss,GlassFish等),但JavaScript是静态的,所以它可以通过http服务器(比如Apache,或者更好的lighttd,nginx )。同样这样您压缩服务器负载(企业关键)

4)库如jQuery可以从谷歌CDN(或任何其他可靠的来源下载)。

5)使用YslowPageSpeedAjax DynaTrace检查性能,获取有关如何改进等

6)尽量mod_pagespeed,它可以 '消灭' jawr,或让有实力的公司为它

7)今天使用一个以上的问题是JavaScript-on-demand装载

8)offline storage

好吧,虽然您指定的主题你是间这个区域看起来还是无限的......