La fuente no carga al usarla con webpack - grapesjs intenta cargar fuentes con ruta relativa
es decir, el archivo html está en /public/editor/demo.html y los archivos que genera webpack están localizados como /public/js/ (archivos bundle.js y fuentes), así que si copio archivos de fuente a /public/editor/fonts/ funciona bien. Bueno, creo que por esta frase queda bastante claro que el problema es dónde coloca...
Lee la respuesta completa abajo ↓Pregunta
Estoy intentando cargar el editor de grapesjs en un archivo html sencillo y no carga los iconos propios de grapesjs ni los iconos de fontawesome.
Ahora, he investigado estos 2 problemas #2320 y #1474, pero no me ayudaron a resolver mi problema, por eso lo planteo.
A continuación está mi script de origen ('demo.js') que luego utiliza webpack para empaquetarlo como ''bundle.js''
importar 'grapesjs/dist/css/grapes.min.css';
importar 'grapesjs-preset-webpage/dist/grapesjs-preset-webpage.min.css';
importar uvas de 'uvas';
importar gjspresetwebpage desde 'grapesjs-preset-webpage';
document.addEventListener("DOMContentLoaded", function (event) {
const editor = grapesjs.init({
Contenedor: '#gjs',
fromElement: cierto,
Altura: '300px',
Ancho: 'Auto',
storageManager: false,
Paneles: {predeterminados: []},
Plugins: ['GJS-preset-webpage'],
pluginsOpts: {
'gjs-preset-webpage': {
}
},
});
});
Mi configuración de webpack es la siguiente:
const path = require('path');
module.exports = {
entrada: {
paquete: './assets/js/demo.js',
},
modo: 'desarrollo',
devtool: 'source-map',
salida: {
camino: camino.unirse(__dirname, '.. /public/js'),
Nombre del archivo: '[nombre].js',
},
módulo: {
Reglas: [
{
Prueba: /\. (js)$/,
excluir: /node_modules/,
Cargador: 'Babel-cargador'
},
{
Prueba: /\.css$/i,
Uso: ['Cargador de estilo', 'Cargador CSS']
},
{
Prueba: /\. (woff|woff2|eot|ttf|svg)(\?. *$|$)/,
Cargador: 'Cargador de archivos',
Opciones: {
Nombre: '[Nombre]. [ext]'
},
}
]
},
resolver: {
Extensiones: ['*', '.js']
},
};
Veo que cuando ejecuto webpack para agrupar todo, se crea el ''bundle.js'' y también se generan los archivos de fuente '.woff, .svg' tanto para los iconos principales como los de fontawesome, etc.
Pero cuando intento usarlos en mi html, siempre me devuelve un error al intentar cargar iconos: ''fuente descargable: descarga fallida......... Fuente: http://localhost/editor/fonts/fontawesome-webfont.woff2''
Una cosa interesante que noté es que las fuentes cargan bien si las copio y pego en el mismo directorio donde está mi editor HTML para
Es decir, el archivo HTML está en '''public/editor/demo.html'' y los archivos que genera webpack están localizados como ''/public/js/ (archivos bundle.js y de fuente)'', así que si copio archivos de fuente a '''public/editor/fonts/'' funciona bien.
Así que me parece que grapesjs está intentando cargar los archivos de fuentes en una ubicación relativa a mi archivo ''demo.html''', es decir, '''/public/editor/fonts/''.
Si importa o alguien necesita mirar, aquí está mi código html para el editor:
....
<script type="text/javascript" src="/js/edoc.js"></script>
<div style="margin-top: 200px;" class="panel__top">
<div class="panel__basic-actions"></div>
</div>
<div id="gjs">
<strong>Texto de ejemplo</strong>
</div>
<style>
<!-- estilos de la página de Comienzo -->
</style>
....
P.D. Disculpas y ignora si no sigo las convenciones o buenas prácticas para hormigas, etc., ya que soy nuevo en webpack, npm, etc. También puede que esté cometiendo un error muy trivial, pero ya he pasado horas intentando resolver este problema
Respuestas (1)
es decir, el archivo html está en /public/editor/demo.html y los archivos que genera webpack están localizados como /public/js/ (archivos bundle.js y fuentes), así que si copio archivos de fuente a /public/editor/fonts/ funciona bien.
Bueno, creo que por esta frase queda bastante claro que el problema es dónde coloca webpack las fuentes (probablemente solo necesites configurar correctamente 'file-loader').
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #2910
Problema en la gestión de gestores de activos
Hola @artf, Ahora estoy trabajando en la implementación de grapesJS en nuestra aplicación. He revisado los documentos proporcionados y algu...
Issue #2101
Etiqueta de padre de contenido seleccionado eliminar
https://github.com/artf/grapesjs/issues/906#issuecomment-381403858 Necesito eliminar el contenido html de editor.getSelected(). Ahora estoy...
Issue #1187
[PREGUNTA]: ¿por qué las líneas discontinuas no se muestran alrededor de los componentes?
Después de mucho tiempo estoy intentando de nuevo con GrapesJS. Estoy siguiendo la página de Empezar y estoy atascado a este paso https://g...
Issue #3596
No se escapan los valores
El código GrapesJS está abierto a problemas con XSS porque los valores se insertan en el DOM sin escapar, por ejemplo, https://github.com/a...
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 →Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.