避免使用javascript依赖项污染全局命名空间

避免使用javascript依赖项污染全局命名空间,javascript,Javascript,我正在构建一个javascript库,并希望在不污染全局名称空间的情况下烘焙各种依赖项(例如jQuery、Google闭包等)。这一点尤其重要,因为其他人可能已经在使用这些库的不同版本 据我所知,大多数库都直接连接到窗口对象,因此我不能简单地将它们放在匿名函数中 这个问题有什么通用的解决方案吗?我相信您需要修改库源代码才能做到这一点,替换它们的代码: window.jQuery = function(){ ... } 与: 对全局jQuery对象(和别名)的任何引用也必须使用名称空间。每个JS

我正在构建一个javascript库,并希望在不污染全局名称空间的情况下烘焙各种依赖项(例如jQuery、Google闭包等)。这一点尤其重要,因为其他人可能已经在使用这些库的不同版本

据我所知,大多数库都直接连接到
窗口
对象,因此我不能简单地将它们放在匿名函数中


这个问题有什么通用的解决方案吗?

我相信您需要修改库源代码才能做到这一点,替换它们的代码:

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

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

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

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