Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

277
Visualizações
¿Usar requirejs y jquery, sin aplastar 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 limpias 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 y que no supere a jQuery existente.

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

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

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' (digamos, en la propiedad 'paths' en su configuración de requirejs), causará dicho conflicto.

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

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

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

over 4 years ago · Santiago Trujillo Relatório

0

Varias versiones de jQuery en una página son malas. Deje de piratear y actualice jQuery o use la versión anterior.

En cuanto a mantener $ seguro, intente

 (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 tranquilamente. di que tienes

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

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

Una vez más, aconsejo DE NUEVO el uso de múltiples versiones porque es un verdadero desastre y una pesadilla de mantenimiento.

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

over 4 years ago · Santiago Trujillo Relatório

0

cargue el script jQuery y luego use var myJ = jQuery.noConflict();

o cualquier variable de atajo que quieras

http://docs.jquery.com/Using_jQuery_with_Other_Libraries

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda