Masalah: saat mengembangkan menggunakan Electron, ketika Anda mencoba menggunakan plugin JS apa pun yang membutuhkan jQuery, plugin tidak menemukan jQuery, bahkan jika Anda memuat di jalur yang benar menggunakan tag skrip.
Sebagai contoh,
<body>
<p id="click-me">Click me!</p>
...
<script src="node_modules/jquery/dist/jquery.min.js"></script> //jQuery should be loaded now
<script>$("#click-me").click(() => {alert("Clicked")});</script>
</body>
Menjalankan kode di atas tidak akan berfungsi. Bahkan, buka DevTools, buka tampilan Konsol, dan klik pada <p>
elemen. Anda harus melihat itu function $ is not defined
atau sesuatu dengan efek itu.
require
fungsi Elektron saja ?Jawaban:
Solusi IMO yang lebih baik dan lebih umum:
Manfaat
node-integration
palsusumber di sini
sumber
window.module
dimulai dengan nilai yang sama denganmodule
, jadi kode Anda tidak berfungsi seperti yang diharapkan. Cara yang tepat untuk melakukannya adalah dengan menyimpanmodule
ke beberapa properti jendela (yang tidak digunakan) lainnya, sepertiwindow.tempModule
. Untuk mengkonfirmasi apa yang saya katakan, cobaconsole.log(module)
setelah pernyataan terakhir Anda untuk memverifikasi itu sekarangmodule === undefined
.Seperti yang terlihat di https://github.com/atom/electron/issues/254 masalahnya disebabkan karena kode ini:
Kode jQuery "melihat" bahwa itu berjalan di lingkungan CommonJS dan mengabaikan
window
.Solusinya sangat mudah , alih-alih memuat jQuery
<script src="...">
, Anda harus memuat seperti ini:Catatan: titik sebelum jalur diperlukan , karena ini menunjukkan bahwa itu adalah direktori saat ini. Juga, ingatlah untuk memuat jQuery sebelum memuat plugin lain yang bergantung padanya .
sumber
'node-integration': false
sebagai opsi untukBrowserWindow
.Cara penulisan lainnya
<script>window.$ = window.jQuery = require('./path/to/jquery');</script>
adalah:sumber
jawaban FAQ elektron:
http://electron.atom.io/docs/faq/
sumber
Baru saja menemukan masalah yang sama
npm install jquery --save
<script>window.$ = window.jQuery = require('jquery');</script>
bekerja untukku
sumber
Anda dapat memasukkan
node-integration: false
opsi ke dalam di BrowserWindow.misalnya:
window = new BrowserWindow({'node-integration': false});
sumber
Solusi yang bagus dan bersih
npm install jquery --save
)<script> let $ = require("jquery") </script>
sumber
Saya menghadapi masalah yang sama dan ini berhasil untuk saya!
Instal jQuery menggunakan npm
Kemudian sertakan jQuery dalam salah satu cara berikut.
sumber
sebelum impor jquery Anda dan Anda siap berangkat. info lebih lanjut di sini .
sumber
Saya pikir saya mengerti perjuangan Anda saya menyelesaikannya sedikit berbeda. Saya menggunakan skrip loader untuk file js saya yang termasuk jquery.Script loader mengambil file js Anda dan melampirkannya ke atas file vendor.js Anda itu melakukan keajaiban bagi saya.
https://www.npmjs.com/package/script-loader
setelah menginstal skrip, tambahkan ini ke boot atau file aplikasi Anda.
impor 'script! path / your-file.js';
sumber
ok, inilah pilihan lain, jika Anda ingin kerabat menyertakan ...
sumber
Jika Anda menggunakan Angular2 Anda dapat membuat file js baru dengan kode ini:
dan letakkan di sebelah kanan setelah jquery path, di .angular-cli.json:
sumber
im bangunan dan Aplikasi Angular dengan elektron, solusi saya adalah sebagai berikut:
Jadi Jquery akan diambil dari angular.json jika di browser, selain itu jika itu adalah aplikasi yang dibangun dengan elektron, ia akan memerlukan modul sebagai gantinya.
Jika Anda ingin mengimpor jquery di index.html alih-alih mengimpor dari angular.json gunakan solusi berikut:
sumber
bekerja untuk saya menggunakan kode berikut
sumber
1. Instal jQuery menggunakan npm.
2.
sumber
Ini bekerja untuk saya.
Hal yang perlu dipertimbangkan:
1) Letakkan ini di bagian sebelum
</head>
2) Sertakan Jquery.min.js atau Jquery.js tepat sebelum
</body>
tagsumber
Anda dapat mencoba kode berikut:
sumber
Untuk masalah ini, Gunakan JQuery dan js lainnya yang sama seperti yang Anda gunakan di Halaman Web. Namun, Elektron memiliki integrasi simpul sehingga tidak akan menemukan objek js Anda. Anda harus mengatur
module = undefined
sampai objek js Anda dimuat dengan benar. Lihat contoh di bawah iniSetelah mengimpor seperti yang diberikan, Anda akan dapat menggunakan
JQuery
dan hal-hal lain dalam elektron.sumber
Cukup instal Jquery dengan perintah berikut.
Setelah itu Silakan masukkan baris belew di file js yang ingin Anda gunakan Jquery
sumber