我正在尝试使用 Summernote在 Electron应用程序,但是当我在项目中包含 summernote.js 时,我不断收到此错误:
Uncaught Error: Cannot find module 'jquery' at Module._resolveFilename (module.js:470:15) at Function.Module._resolveFilename (C:\Users\me\AppData\Roaming\npm\node_modules\electron\dist\resources\electron.asar\common\reset-search-paths.js:35:12) at Function.Module._load (module.js:418:25) at Module.require (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 at 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>
更新:这只发生在 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);
}
因为 Electron 包含 require() 它试图像节点模块一样加载它并失败。您可以通过仅注释节点的部分来解决此问题。
关于jquery - Summernote 和 Electron : Uncaught Error: Cannot find module 'jquery' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42882212/