5

有时我想将mootools用于某些事物,而将 Prototype &script.aculo.us用于其他事物,但在同一个站点内。我什至考虑过添加其他人,但担心冲突。任何人都有经验,还是我只是想让事情对自己来说太复杂了?

4

7 回答 7

7

如果您真的非常想这样做,那么您将能够没有太多问题 - 主库被设计为在它们自己的命名空间内表现良好,但有几个值得注意的例外 - 来自将 JQuery 与其他框架一起使用

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

也就是说,有一个警告:默认情况下,jQuery 使用“$”作为“jQuery”的快捷方式,您可以覆盖它。

所以,是的,你可以做到,但你可能会为自己制造更麻烦的维护问题 - 框架功能之间的细微差别今天对你来说可能很明显,但在 6 个月后回来,它可能会完全不同故事!因此,我建议尽可能保持简单,并在代码库中尽可能少地使用不同的框架(最好是 1 个!)。

于 2008-10-02T20:44:19.457 回答
3

AFAIK,所有流行的框架都旨在与其他框架相结合。我不认为将它们结合起来有那么大的问题。但是,我不鼓励纯粹从带宽需求的情况下组合它们。与更复杂的开发体验相比,缓慢的网站体验更不可原谅。

于 2008-10-02T20:30:38.210 回答
1

最近的一个问题:jQuery 和原型冲突

Prototype.js 库曾经非常令人反感,并且与许多其他库/代码发生冲突。然而,据我所知,他们最近放弃了一些非常核心的工作人员,例如更换 Element 对象等。

于 2008-10-02T22:48:49.110 回答
0

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

话虽如此,Prototype 和 JQuery 可以一起工作。信息在 JQuery 网站上。

于 2008-10-02T20:30:03.280 回答
0

我的建议是很好地学习一个(或多个!)框架,以便您能够复制您需要的功能,而不会增加多个框架的开销。

请记住,您向客户端推送的代码越多,一切都会变得越慢。

于 2008-10-02T22:08:18.537 回答
0

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

于 2008-10-02T22:22:19.237 回答
0

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

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

于 2010-08-29T10:24:03.593 回答