Clase ES6 en script de componentes
Resolví el problema. Resulta que babel está transformando la clase javascript y llama a la función auxiliar classCallCheck que no se pasa a grapesjs. En la última versión (7) de babel, puedes activar el modo suelto para el plugin de clases transformadas, que no inserta la llamada a función classCallCheck.Actualizar Ba...
Lee la respuesta completa abajo ↓Pregunta
Me gustaría usar las clases de ES6 en el atributo de scripts de componentes. Cuando dejo caer el componente en el lienzo, aparece el mensaje de error "_classCallCheck no está definido".
Código de componentes: '''javascript comps.addType('dropdown', { model: defaultModel.extend({ defaults: Object.assign({}, defaultModel.prototype.defaults, { 'nombre personalizado': 'Desplegable', Clases: ['c-select2'], rasgos: ['encabezado'].concat(defaultModel.prototype.defaults.traits), script: function() {
clase Test { constructor() { console.log('llamado constructor'); } }
sea obj = nuevo Test(); } }), }, { isComponent(el) { if(el & & el.classList && el.classList.contains('c-select2')) { return {type: 'dropdown'}; } } }), view: defaultView }); }
Mensaje de error:
VM5186:1 Uncaught ReferenceError: _classCallCheck no está definido En la nueva ASDF (<anonymous>:1:312) en HTMLDivElement. <anonymous> (<anonymous>:1:362) a <anonymous>:1:8642
Respuestas (2)
Resolví el problema. Resulta que babel está transformando la clase javascript y llama a la función auxiliar _classCallCheck que no se pasa a grapesjs.
En la última versión (7) de babel, puedes activar el modo suelto para el plugin de clases transformadas, que no inserta la llamada a función _classCallCheck.
- Actualizar Babel a la versión 7 '''sh NPM install [email protected] @babel/core @babel/preset-env
2. Eliminar el bloque de configuración de Babel de package.json
"babel": { "presets": [ "env" ], "plugins": [ "transformar-objeto-descanso-dispersión" ] },
3. Crear .babelrc. Activa el modo suelto para el plugin de clases transformadas.
{ "presets": ["@babel/preset-env"], "plugins": [ ["@babel/plugin-propuesta-objeto-resto"], ["@babel/transform-classes", { "Suelto": Verdadero }], ] }
Este hilo se ha bloqueado automáticamente porque no ha habido actividad reciente desde que se cerró. Por favor, abre un nuevo problema para bugs relacionados.
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #413
Usar rasgo para modificar la clase de componentes
¡Hola! Estoy intentando cambiar el valor de las clases con muy poco éxito. Aquí está la función 'onValueChange' de mi rasgo personalizado:...
Issue #1727
[PREGUNTA] Evento para que los niños vean
Tengo un problema con un componente. Cuando dejo caer un componente en el lienzo, creo un objeto sencillo. Antes de añadir este objeto nece...
Issue #661
Atributo de clase no eliminado
¡Hola! He notado un problema con el gestor de estilo cuando añadimos o quitamos clases. Cuando eliminamos todas las clases, no las eliminam...
Issue #1691
Cómo usar variables/funciones fuera del script
Hola @artf, ¿Cómo puedo acceder a las funciones de la variable que están fuera del script? Mi código es como, Estoy usando angular.js(Angul...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.
Explora plugins gratuitos →Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.
Explora plugins premium →Tutoriales relacionados
Guías detalladas sobre el mismo tema.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.