นำเข้า jQuery ด้วย contextBridge

Sep 11 2020

ฉันพยายามที่จะใช้contextBridgeใน Electron แต่ฉันยังคงได้รับข้อผิดพลาดเมื่อฉันพยายามที่จะอยู่ในrequire('jQuery') preload.jsนี่คือของฉันpreload.js:

const { contextBridge, ipcRenderer } = require('electron')
require('jQuery')

contextBridge.exposeInMainWorld(
    'ipcRenderer',
    {
      send: (channel, arg) => ipcRenderer.send(channel, arg),
      on: (event, data) => ipcRenderer.on(event, data)
    }
)

ทันทีที่ฉันใส่require('jQuery')ฉันได้รับข้อผิดพลาดนี้:

ฉันต้องการนำเข้า API แบบนี้เนื่องจากปรับปรุงความปลอดภัยและcontextIsolationจะเปิดใช้งานโดยค่าเริ่มต้นใน Electron เวอร์ชันที่ใหม่กว่า

คำตอบ

kyleawayan Sep 11 2020 at 06:52

ฉันไม่รู้ว่าสิ่งนี้ปลอดภัยหรือไม่ แต่ฉันเพิ่งนำเข้า jQuery จากindex.html:

  <head>
    <meta charset="UTF-8">
    <title>Gemini</title>
    <meta http-equiv="Content-Security-Policy" content="script-src 'self'">
    <link rel="stylesheet" href="style.css">
    <link rel="stylesheet" href="macos.css">
    <script type="text/javascript" src="node_modules/jquery/dist/jquery.min.js"></script>
    <link rel="stylesheet" href="node_modules/@fortawesome/fontawesome-free/css/all.css">
  </head>