我试图在Summernote应用中使用Electron,但是当我在项目中包含summernote.js时,我一直收到此错误:
未捕获错误:无法找到模块' jquery'在Module._resolveFilename (module.js:470:15)在Function.Module._resolveFilename (C:\用户\我\应用程序数据\漫游\ NPM \ node_modules \电子\ DIST \资源\ electron.asar \共同\复位搜索paths.js:35:12) 在Module.require的Function.Module._load(module.js:418:25) (module.js:498:17)at require(internal / module.js:20:19)at 文件:/// C:/Users/me/projects/FO/dist/vendors/summernote/summernote.js:18:30 在 文件:/// 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>
更新:这仅适用于高于0.6.16的Summernote版本。我最初使用的是0.8.2,当我将ver更改为0.6.16时,错误消失了。
有任何想法如何解决此问题?
答案 0 :(得分:0)
旧的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(),它试图像节点模块一样加载它并失败。您可以通过仅为节点注释零件来解决此问题。
答案 1 :(得分:0)
<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库的某些时间顺序会造成问题。如果引导程序需要property.js文件。 -这是电子项目中的工作顺序