У кого-нибудь есть опыт использования Closure js lib и Mootools на той же странице?Совместимы ли библиотеки Mootools и Google Closure?
Конфликты или работы в порядке?
У кого-нибудь есть опыт использования Closure js lib и Mootools на той же странице?Совместимы ли библиотеки Mootools и Google Closure?
Конфликты или работы в порядке?
Согласно Google:
Названия всех функций закрытия библиотеки и свойства начинаются с точки с запятой путь к , который предотвращает их от случайного перекрытия с именами, определенными в Неушивание Библиотека кода , Этот путь называется пространством имен.
(http://code.google.com/closure/library/docs/introduction.html)
Так не должно быть никаких конфликтов, и я проверил документацию по API и она подтверждает мои выводы, к примеру, для манипуляции массива вы должны пройти через пространство имен Google (GOOG):
goog.array.binaryInsert(array, value, opt_compareFn) ⇒
boolean
(http://closure-library.googlecode.com/svn/trunk/closure/goog/docs/closure_goog_array_array.js.html) Это в отличие от MooTools расширением самого массива класса.
Cheers, Роман
спасибо - способ расширения MooTools означает, что они были бы несовместимы с Closure lib тогда? – rutherford
он может быть несовместим ни с чем, если не закодирован тщательно. во многом зависит от того, как вы структурируете код. если прототип массива был изменен, и вы перечислили массив без этого, вы могли бы также получить итерации прототипов ... iirc была некоторая критика закрытия автором Рафаэля, чтобы сделать это с отсутствием проверок hasOwnProperty в таких итерациях ... так что имейте это в виду. –
Я бы просто использовал код обхода массива MooTools ($ each()), не будет реальной причиной использовать библиотеку google, в первую очередь, я полагаю. сказав, что у меня не было проблем с другими большими библиотеками (OpenLayers) при использовании MooTools, поэтому все это в хорошем вкусе! – 2009-11-22 22:49:42
Google Closure библиотека имеет серьезные проблемы совместимости (среди других начинающих ошибок JS) –
@Martinho Фернандеса: Вы можете уточнить? –