electron引入html模版,Electron中Jquery的引入方式

Electron默認啟用了Node.js的require模塊,而jQuery等新版本框架為了支持commondJS標准,當Window中存在require時,會啟用模塊引入的方式,導致報錯 Uncaught ReferenceError: $ is not defined,本文研究了高低版本jQuery引入的正確方式。

1. 報錯原因

Electron默認啟用了Node.js的require模塊,而jQuery等新版本框架為了支持commondJS標准,當Window中存在require時,會啟用模塊引入的方式.

2. 幾種引入方式

方式1,html頁面直接引入:

經測試jquery-1.9.1可以,jquery-1.11.1按這種方式報錯

方式2,html頁面引入時:

經測試jquery-1.11.0可以,jquery-1.9.1按這種方式報錯

方式3,html頁面引入時重命名並刪除對象

window.nodeRequire = require;

delete window.require;

delete window.exports;

delete window.module;

經測試jquery-1.9.1可以,jquery-1.11.1按這種方式報錯

方式4,去掉框架中的模塊引入判斷代碼,將jQuery中的第一行代碼中的

!function(a,b){"object"==typeof module&&"object"==typeof module.exports? module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}

改為

!function(a,b){b(a)}

html頁面引用時

jquery-1.11.0成功,而jquery-1.9.1中第一行沒有這個代碼,故不能采用這種方式

方式5,如果開發了一定的量,而且不想使用Node.js模塊,大可以去掉require模塊化引入,直接使用以下方法禁用Node.js的require模塊化引入,即可正常使用任何框架

// In the main process.

let win = new BrowserWindow({

webPreferences: {

nodeIntegration: false

}

});

總結

低版本JQuery建議方式1,高版本JQuery建議方式2;不使用Node.js模塊的話可以嘗試方式5

參考資料

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值