Summernote and Electron: ошибка Uncaught: не удается найти модуль 'jquery'
Я пытаюсь использовать Summernote в приложении Electron, но я получаю эту ошибку, когда я включаю summernote.js в свой проект:
Uncaught Ошибка: не удается найти модуль 'jquery' в Module._resolveFilename (module.js:470:15) в Function.Module._resolveFilename (C:\Users\me\AppData\Roaming\npm\node_modules\ Electron \ dist \ resources \ Electron.asar\common\reset-search-paths.js:35:12) в Function.Module._load (module.js:418:25) в Module.require (module.js:498:17) по требованию (внутренний /module.js:20:19) в файле:///C:/Users/me/projects/FO/dist/vendors/summernote/summernote.js:18:30 в файле: /// C: / Users / мне / проекты / FO / расстояние / производители /summernote/summernote.js:23:2
Я включил в свой проект jQuery и без проблем использую другие плагины jQuery:
<script>
window.$ = window.jQuery = require('./vendors/jquery-1.12.4-dist/jquery-1.12.4.min.js');
</script>
ОБНОВЛЕНИЕ: Это происходит только с версией Summernote выше 0.6.16. Первоначально я использовал 0.8.2, и когда я изменил версию на 0.6.16, ошибка исчезла.
Есть идеи, как решить эту проблему?
1 ответ
<script src="../../node_modules/jquery/dist/jquery.js"></script>
<script src="../../node_modules/jquery/dist/jquery.min.js"></script>
<script>
if (typeof module === 'object')
{window.module = module; module = undefined;}
</script>
<script src="../../node_modules/popper.js/dist/umd/popper.js."></script>
<script src="../../node_modules/popper.js/dist/umd/popper.min.js"></script>
<script src="../../node_modules/bootstrap/dist/js/bootstrap.js"></script>
<script src="../../node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="../../node_modules/summernote/dist/summernote.js"></script>
<script src="../../node_modules/summernote/dist/summernote.min.js"></script>
<script>
$(function () { $('#editor').summernote(); });
</script>
summernote-lite не использует бутстрап, но с bs4 нам это нужно. библиотеки должны быть добавлены указанным выше способом. некоторый временной порядок загрузки библиотек js создает проблемы, создает проблемы. если для начальной загрузки нужен правильный файл.js. - это рабочая последовательность в электронном проекте
Старый файл summernote.js выглядел так:
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['jquery'], factory);
} else {
// Browser globals
factory(window.jQuery);
}
новый выглядит так:
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['jquery'], factory);
} else if (typeof module === 'object' && module.exports) {
// Node/CommonJS
module.exports = factory(require('jquery'));
} else {
// Browser globals
factory(window.jQuery);
}
потому что электрон содержит require(), он пытается загрузить его как модуль узла и терпит неудачу. Вы можете решить эту проблему, просто комментируя деталь для узла.