Issue #754💬 RespondidoAbierto el 12 de enero de 2018por punkt2Reacciones 1

Clase ES6 en script de componentes

Respuesta rápidapor punkt21

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)

punkt213 de enero de 2018

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.

  1. 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 }], ] }

lock[bot]18 de septiembre de 2019

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.

Plugins de pago que cumplen con este problema

Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.

Ver todos los plugins

Cargando recomendaciones de plugins de pago...

Opción gratuita

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 →
Opción premium

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.

Todos los tutoriales →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.