scripterror paths org node mismatched errors docs define jquery module requirejs

paths - Utilice requirejs y jquery, sin destruir jQuery global?



requirejs paths cdn (3)

Varias versiones de jQuery en una página son malas. Deja de piratear y actualiza jQuery o usa la versión anterior.

En cuanto a mantener $ prueba segura

(function($) { // requirejs inclusion block for loading }(jQuery.noConflict(true));

Si pasa true a .noConflict , reemplazará la antigua variable jQuery y no la destruirá globalmente.

Esto significa que puedes pasarlo en silencio. Di que tienes

<script src="jquery-1.2"> <script src="jquery-1.5">

Luego, usar el código anterior pondría los $ 1.2 y jQuery nuevamente en el espacio global y le daría los 1.5 jQuery como $ locales en su cierre

Nuevamente, les recomiendo a AGAINTS que usen varias versiones porque es un desastre y una pesadilla de mantenimiento.

Si usa 1.5, también puede usar .sub para permitirle extender jQuery localmente sin dañar el jQuery global.

Estoy usando requirejs por primera vez en un proyecto. Estoy trabajando en un entorno que ya tiene una gran cantidad de Javascript, y estoy buscando formas claras de introducir mi propio código.

El problema que tengo es que parece que no puedo encontrar un módulo de jQuery que pueda cargar que no obstruya jQuery existente.

Me sorprendió que incluso require-jquery.js presente una versión global de jQuery. ¿Hay una manera de cargar jQuery como un módulo sin introducir ninguna global?



jQuery 1.7 admite la carga de AMD. Pero, el truco es evitar un conflicto de nombres de módulos, ya que jQuery codifica su propio nombre de módulo como ''jquery''. Si está definiendo otro módulo como ''jquery'' (por ejemplo, en la propiedad ''paths'' en su configuración requirejs), causará dicho conflicto.

Para cargar jQuery en el ámbito de aplicación de requirejs, defina un módulo, como ''jquery-loader'' y cuando quiera cargar jQuery, hágalo a través de ''jquery-loader'':

define([''path/to/jquery.min''], function () { return jQuery.noConflict(true); });

requirejs ''guardará en caché'' su referencia a jQuery para que noConflict solo se ejecute la primera vez que se cargue jquery-loader.