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

213
Views
Webpack Encore + Symfony: use módulos cargados desde la base

Estoy migrando una gran aplicación web antigua de Symfony a Webpack Encore. Por ahora, instalé todas las bibliotecas js, pero encontré un problema: Error de referencia no detectado: xxx no está definido

Mi estructura es la siguiente.

  • common.js donde importo bibliotecas js que usé en muchas páginas (como resize-sensor).
  • base.html.twig donde llamo {{ encore_entry_script_tags('common') }}
  • Vistas finales que extienden base.html.twig

En common.js cargo bibliotecas: Ej. importar 'sensor de cambio de tamaño';

En una vista, trato de usar: new ResizeSensor(jQuery('#div-left'), function(){fixElements();});

Recibí este error: "Error de referencia no detectado: ResizeSensor no está definido"

Tuve que importar jquery, highcharts y confirmation2 globalmente, pero no estoy seguro de querer hacer esto con todas las bibliotecas.

Entonces, ¿hay alguna forma de importar todo el contenido de común en todas las vistas que se extiende desde la base?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

En una vista, trato de usar: new ResizeSensor(jQuery('#div-left'), function(){fixElements();});

La importación de libs en sus archivos js no hace que estén "disponibles" en el ámbito global. Así que no puedes simplemente usarlos en tus vistas como

 {% block javascripts %} {{ parent() }} <script> $(function(){ new ResizeSensor(jQuery('#div-left'), function(){fixElements();}); }); </script> {% endblock %}

En realidad, solo están disponibles en ese archivo (common.js)

Podría intentar usar special global. sintaxis O intenta convertirlos en autoProvidedVariables . Tienes que jugar con lo que funciona mejor para ti.

global

 // in your common.js import ResizeSensor from 'resize-sensor'; global.ResizeSensor = ResizeSensor; // now is ResizeSensor available globaly

autoProvideVariables

 // in webpack.config.js .autoProvidejQuery() .autoProvideVariables({ ResizeSensor: require.resolve('resize-sensor'), }

ahora podrías usarlos en tus vistas.

about 4 years ago · Juan Pablo Isaza 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!