2011-03-23 69 views
3

我正在建立一个JavaScript库,并希望在不污染全局名称空间的各种依赖(如jQuery,谷歌关闭等)中烘烤。这一点尤其重要,因为其他人可能已经在使用这些库的不同版本。避免污染全球命名空间与JavaScript依赖

据我可以告诉大多数这些库直接连接到window对象,所以我不能简单地把它们放在一个匿名函数中。

是否有任何通用的解决方案来解决这个问题?

回答

2

我相信你会需要修改源代码库,能够做到这一点,取代他们的代码:与

window.jQuery = function(){ ... } 

myNamespace.jQuery = function() { ... } 

任何全球jQuery对象的任何引用(和别名)也必须是名称空间。对每个JS库都必须采取类似的措施。

在我看来,这对于它的价值来说太麻烦了。为每个js库占用一个全局变量是可以接受的。