哪些JavaScript框架相互冲突?

时间:2008-10-02 20:25:26

标签: javascript frameworks conflict

有时我想使用 mootools 来处理某些事情和Prototype& script.aculo.us 为其他人但在同一网站内。我甚至考虑过添加其他人,但他们担心冲突。任何人都有经验,或者我只是想让事情变得太复杂?

7 个答案:

答案 0 :(得分:7)

如果你真的,真的想要这样做,那么你将能够没有太多问题 - 主要的库被设计成在他们自己的命名空间内表现良好,有几个值得注意的例外 - 来自Using JQuery with Other Frameworks

  

jQuery库及其几乎所有插件都受限于jQuery命名空间。作为一般规则,“全局”对象也存储在jQuery命名空间内,因此您不应该在jQuery和任何其他库(如Prototype,MooTools或YUI)之间发生冲突。

     

也就是说,有一点需要注意:默认情况下,jQuery使用“$”作为“jQuery”的快捷方式,你可以覆盖它。

所以,是的,你可以做到这一点,但是你可能会为自己进一步创建维护难题 - 框架功能之间的细微差别今天对你来说可能是显而易见的,但是在6个月后又可以回来了。另一个故事!因此,我建议尽可能简单地保持它,并尽可能少地使用不同的框架(最好是1!)。

答案 1 :(得分:3)

AFAIK,所有流行的框架都旨在与其他框架结合使用。我不认为将它们结合起来是一个很大的问题。但是,我不鼓励将它们纯粹地与带宽需求结合起来。与较复杂的开发体验相比,缓慢的站点体验更难以原谅。

答案 2 :(得分:1)

最近的一个问题:jQuery & Prototype Conflict

Prototype.js库曾经非常冒犯并且与许多其他库/代码冲突。但是,据我所知,他们最近放弃了一些真正的核心员工,比如替换Element对象等。

答案 3 :(得分:0)

每个应用程序最好坚持使用单个框架。否则,您的客户将花费太多时间/带宽下载javascripts。

话虽这么说,Prototype和JQuery可以一起工作。信息在JQuery网站上。

答案 4 :(得分:0)

我的建议是非常好地学习一个(或更多!)框架,这样您就可以复制所需的功能,而不会增加多个框架的开销。

记住你推送给客户端的代码越多,一切就越慢。

答案 5 :(得分:0)

根据我的经验,我可以说一些javascript库与浏览器相冲突,而不是相互冲突。我的意思是:对某些库编写的某些代码与针对浏览器DOM编写的代码不会很好地共存。

答案 6 :(得分:0)

My Framework Scanner工具可用于查找库之间的JS / CSS冲突:

http://mankz.com/code/GlobalCheck.htm