Summernote和Electron:未捕获错误:找不到模块';jquery';

Summernote和Electron:未捕获错误:找不到模块';jquery';,jquery,angularjs,electron,summernote,Jquery,Angularjs,Electron,Summernote,我正在尝试在应用程序中使用,但在我的项目中包含summernote.js时,我不断遇到此错误: 未捕获错误:在模块处找不到模块“jquery”。\u (module.js:470:15)位于Function.module.\u (C:\Users\me\AppData\Roaming\npm\node\u modules\electron\dist\resources\electron.asar\common\reset search path.js:35:12) 在Function.Modul

我正在尝试在应用程序中使用,但在我的项目中包含summernote.js时,我不断遇到此错误:

未捕获错误:在模块处找不到模块“jquery”。\u (module.js:470:15)位于Function.module.\u (C:\Users\me\AppData\Roaming\npm\node\u modules\electron\dist\resources\electron.asar\common\reset search path.js:35:12) 在Function.Module.\在Module.require加载(Module.js:418:25) (module.js:498:17)at require(internal/module.js:20:19)at file:///C:/Users/me/projects/FO/dist/vendors/summernote/summernote.js:18:30 在 file:///C:/Users/me/projects/FO/dist/vendors/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>

window.$=window.jQuery=require('./vendors/jQuery-1.12.4-dist/jQuery-1.12.4.min.js');
更新:这仅适用于0.6.16以上版本的Summernote。我最初使用的是0.8.2,当我将版本更改为0.6.16时,错误消失了。


有没有办法解决这个问题?

旧的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);
}
新的是这样的:

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);
}

因为electron包含require(),所以它试图像节点模块一样加载它,但失败了。您可以通过为节点注释零件来解决此问题

旧的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);
}
<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>
新的是这样的:

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);
}
因为electron包含require(),所以它试图像节点模块一样加载它,但失败了。您可以通过为节点注释零件来解决此问题


<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>
if(模块类型===‘对象’) {window.module=module;module=undefined;} $(函数(){$('#编辑器').summernote();});
summernote lite不使用引导,但是对于bs4,我们需要它。应以上述方式添加库。加载js库的某些时间顺序会产生问题。如果引导需要正确的.js文件。-这是electron项目中的一个工作顺序


if(模块类型===‘对象’)
{window.module=module;module=undefined;}
$(函数(){$('#编辑器').summernote();});

summernote lite不使用引导,但是对于bs4,我们需要它。应以上述方式添加库。加载js库的某些时间顺序会产生问题。如果引导需要正确的.js文件。-这是electron project中的一个工作序列

事实上,正如@SurajRao所说,请编辑您的答案以更新它并删除另一个。事实上,正如@SurajRao所说,请编辑您的答案以更新它并删除另一个。