electron基于node是个不争的事实,而jquery在市面上的普及度,也是有目共睹的。虽然近些年来,被reactvue们抢了不少市场。但是,姜还是老的辣,jquery的普及度还是不可小觑的。

苏南大叔:electron 与 jquery 不得不说的故事,如何解决 require 函数冲突问题 - electron-jquery
electron 与 jquery 不得不说的故事,如何解决 require 函数冲突问题(图11-1)

在本文的经验分享中,苏南大叔将要描述的是:electronjquery的冲突何在,如何让两者和平共处。

症状描述

本文还是以改造版的quick-start项目为例,加载的网站还是 https://electron.org.cn

  • electron使用BrowserWindow加载url,nodeIntegration参数不设置(默认为true)。
  • 网站代码内使用了jquery这个库。

下面的对比图中,左侧是chrome正常加载,右侧是通过electron加载。

苏南大叔:electron 与 jquery 不得不说的故事,如何解决 require 函数冲突问题 - 030
electron 与 jquery 不得不说的故事,如何解决 require 函数冲突问题(图11-2)

那么我们可以明显看到,electron加载的网页,提示jquery is not definednodeIntegration 默认值是true,意思就是为页面中注入node相关能力。但是node相关代码的加载方式和jquery冲突。

总结

对于大多数情况来说,方案二或者方案三,应该是你最好的解决方案。当然,本文的两个解决方案,不仅仅适用于jquery,还适用于其他的常见js类库,例如:RequireJS 或者 AngularJS 等等。

想get到苏南大叔带来的更多electron实战技巧吗?请点击这里:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接作者。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【加群】加入QQ群【175454274】和大家一起讨论这个问题

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   jquery    electron

本站的忠实读者小伙伴,正在阅读下面这些文章: