Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

269
Views
¿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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!