Как использовать блочный редактор EditorJS в NuxtJS?

Пытаюсь использовать блочный редактор EditorJS в NuxtJS

На Медиуме есть статья как использовать EditorJs в Vue

Это работает, но когда перезагружаю страницу ловлю ошибку "window not defined"
Причина в том что код запускается на стороне сервера, а там нет "window"

Заменил import на require и заработало

import EditorJS from '@editorjs/editorjs'
//to 
const EditorJS = require('@editorjs/editorjs')


Но для полноты нужно в EditorJS подгрузить плагины
И вот тут замена import на require не сработало.

ImageTool = require('@editorjs/image') // ошибка

Какая есть возможность исключить исполнение на стороне сервера?
  • Вопрос задан
  • 530 просмотров
Решения вопроса 1
hrhr99
@hrhr99 Автор вопроса
Решение
<template> 
   <div id="codex-editor"></div> 
</template> 

<script> 
    let EditorJS = null, ImageTool = null; 

    if (process.client) { 
        EditorJS = require('@editorjs/editorjs'); 
        ImageTool = require('@editorjs/image'); 
    } 

     export default { 
         mounted() { 
         const editor = new EditorJS({ 
         holder: 'codex-editor', 

     tools: { 
         image: { 
             class: ImageTool, 
         } 
     } 
    }); 
  } 
 }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы