Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

141
Vistas
Error no definido al cargar SurveyJS usando RequireJS

Estoy tratando de ejecutar la encuesta simple usando SurveyJS y requireJS no la carga. No hay ningún error al cargar, pero no está definido dentro del cuerpo de la función de definición.

Intenté usar la propiedad de exportación de shim, sin embargo, el resultado fue el mismo.

¿Qué posiblemente estoy haciendo mal?

índice.js

 requirejs.config({ paths: { app: "./", jquery: 'https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min', Survey: "https://unpkg.com/survey-jquery@1.9.40/survey.jquery.min", }, shim: { Survey: { deps: ['jquery'], } } }); requirejs(["main"]);

principal.js

 define(["Survey"], function (Survey) { console.log(Survey); // undefined });

índice.html

 <head> <script data-main="index" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.5/require.min.js"></script> <link href="index.css" rel="stylesheet" /> <link href="https://unpkg.com/survey-jquery@1.9.40/modern.css" type="text/css" rel="stylesheet"/> </head>
about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

Resulta que cada módulo puede tener su propio nombre dentro de la biblioteca. Para SurveyJS es survey-jquery . Y no requiere el uso de shim parte de requirejs.

Tuve que mirar la parte inicial de la biblioteca donde la define. Además, requiere que jQuery se defina como jquery .

 function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("jquery")); else if(typeof define === 'function' && define.amd) define("survey-jquery", ["jquery"], factory); else if(typeof exports === 'object') exports["survey-jquery"] = factory(require("jquery")); else root["Survey"] = factory(root["jQuery"]); }

Se cambió index.js como se muestra a continuación.

 require.config({ paths: { app: "./", jquery: 'https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min', 'survey-jquery': "https://unpkg.com/survey-jquery@1.9.40/survey.jquery.min", }, });

Como el nombre del módulo importado ha cambiado, también cambió main.js

 define(["survey-jquery"], function (Survey) { console.log(Survey); // Module {...} });
about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda