我正在构建一个 javascript 库,并希望在不污染全局命名空间的情况下加入各种依赖项(例如 jQuery、Google Closure 等)。这一点特别重要,因为其他人可能已经在使用这些库的不同版本。
据我所知,这些库中的大部分都直接附加到 window
对象,所以我不能简单地将它们放在匿名函数中。
这个问题有什么通用的解决方案吗?
最佳答案
我相信您需要修改库源代码才能做到这一点,替换他们的代码:
window.jQuery = function(){ ... }
与:
myNamespace.jQuery = function() { ... }
任何对全局 jQuery 对象(和别名)的引用也必须命名空间。必须对每个 JS 库采取类似的措施。
在我看来,这太麻烦了。每个 js 库占用一个全局变量是可以接受的。
关于javascript - 避免使用 javascript 依赖项污染全局命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5411876/