दिलचस्प पोस्ट
MPMoviePlayer का उपयोग किए बिना आईफोन पर छवियों को एनिमेट करने का तरीका (जैसे मूवी) सर्वर एंड्रॉइड को छवियां अपलोड करना क्या मैं अपने JSON में एक बच्चे की संपत्ति के लिए मेरी कक्षा में एक संपत्ति को मैप करने के लिए एक विशेषता में पथ निर्दिष्ट कर सकता हूँ? MATLAB ओओपी धीमा है या क्या मैं कुछ गलत कर रहा हूं? ईपब प्रारूप पढ़ना JavaScript द्वारा अपलोड करने से पहले पूर्वावलोकन छवि कैसे अपलोड करें क्या हम वर्तमान में आईफोन और आईपैड में चल रहे एप्लिकेशन पुनः प्राप्त कर सकते हैं MySQL से समय-समय पर PHP के साथ किसी अन्य स्वरूप में परिवर्तित करें वेबपेज से डेटा खींचने के लिए जावा का उपयोग करना? क्या आप PHP में एक विंडोज़ (एडी) उपयोगकर्ता नाम प्राप्त कर सकते हैं? कैसे एक JQuery घड़ी / टाइमर बनाने के लिए ट्विटर बूटस्ट्रैप: मोडल विंडो की प्रिंट सामग्री दो सूचियों में आम तत्व एचटीएमएल टैग्स पॉलिमर डार्ट में इंटरलाइज्ड स्ट्रिंग्स के अंदर java.sql.SQLException: – ORA-01000: अधिकतम खुले कर्सर पार हो गए हैं

इलेक्ट्रॉन: jQuery परिभाषित नहीं है

समस्या: जब आप किसी भी जेएस प्लगइन का उपयोग करने की कोशिश करते हैं, तो आप प्लग-इन को jQuery का उपयोग करने की कोशिश करते हैं, भले ही आप स्क्रिप्ट टैग्स का उपयोग करके सही पथ में लोड हो, भले ही इलेक्ट्रॉन का उपयोग करते समय विकसित हो।

वेब के समाधान से एकत्रित समाधान "इलेक्ट्रॉन: jQuery परिभाषित नहीं है"

एक अधिक सामान्य समाधान आईएमओ:

<!-- Insert this line above script imports --> <script>if (typeof module === 'object') {window.module = module; module = undefined;}</script> <!-- normal script imports etc --> <script src="scripts/jquery.min.js"></script> <script src="scripts/vendor.js"></script> <!-- Insert this line after script imports --> <script>if (window.module) module = window.module;</script> 

लाभ

  • एक ही कोड के साथ ब्राउज़र और इलेक्ट्रॉन दोनों के लिए काम करता है
  • हर एक को निर्दिष्ट किए बिना सभी तृतीय-पक्ष लाइब्रेरी (केवल जेयएल) के लिए समस्याएं ठीक करता है
  • स्क्रिप्ट बिल्ड / पैक मैनेली (अर्थात् ग्रन्ट / गैलप सभी स्क्रिप्ट्स vendor.js में)
  • node-integration को गलत होने की आवश्यकता नहीं है

यहाँ स्रोत

जैसा कि https://github.com/atom/electron/issues/254 में देखा गया है इस कोड के कारण समस्या का कारण बनता है:

 if ( typeof module === "object" && typeof module.exports === "object" ) { // set jQuery in `module` } else { // set jQuery in `window` } 

JQuery कोड "देखता है" कि इसकी चल रही है एक CommonJS पर्यावरण और window ध्यान नहीं देता।

समाधान वास्तव में आसान है , jQuery के माध्यम से <script src="..."> लोड करने के बजाय, आपको इस तरह लोड करना चाहिए:

 <script>window.$ = window.jQuery = require('./path/to/jquery');</script> 

नोट: पथ से पहले डॉट आवश्यक है , क्योंकि यह इंगित करता है कि यह वर्तमान निर्देशिका है साथ ही, उस पर निर्भर अन्य किसी भी प्लगइन को लोड करने से पहले jQuery को लोड करना याद रखें

<script>window.$ = window.jQuery = require('./path/to/jquery');</script> लिखने का एक और तरीका <script>window.$ = window.jQuery = require('./path/to/jquery');</script> है:

 <script src="./path/to/jquery" onload="window.$ = window.jQuery = module.exports;"></script> 

इलेक्ट्रॉन अकसर किये गए सवाल जवाब:

http://electron.atom.io/docs/faq/

मैं इलेक्ट्रॉन में jQuery / RequireJS / उल्का / एंजरीजेएस का उपयोग नहीं कर सकता।

इलेक्ट्रॉन के नोड। जेएस के एकीकरण के कारण, कुछ अतिरिक्त प्रतीकों जैसे डीओएम में मॉड्यूल, निर्यात, की आवश्यकता होती है। इससे कुछ पुस्तकालयों के लिए समस्याएं आती हैं क्योंकि वे समान नामों के साथ प्रतीकों को सम्मिलित करना चाहते हैं।

इसका समाधान करने के लिए, आप इलेक्ट्रॉन में नोड एकीकरण को बंद कर सकते हैं:

// मुख्य प्रक्रिया में

 let win = new BrowserWindow({ webPreferences: { nodeIntegration: false } }); 

लेकिन अगर आप Node.js और Electron API का उपयोग करने की क्षमताओं को रखना चाहते हैं, तो आपको अन्य पुस्तकालयों को शामिल करने से पहले पृष्ठ में प्रतीकों का नाम बदलना होगा:

 <head> <script> window.nodeRequire = require; delete window.require; delete window.exports; delete window.module; </script> <script type="text/javascript" src="jquery.js"></script> </head> 

आप node-integration: false डाल सकते हैं node-integration: false BrowserWindow पर node-integration: false अंदर विकल्प।

उदाहरण: window = new BrowserWindow({'node-integration': false});

बस एक ही समस्या में आया था

npm install jquery --save

<script>window.$ = window.jQuery = require('jquery');</script>

मेरे लिए काम किया

मुझे लगता है मैं आपके संघर्ष को समझता हूं मैंने इसे थोड़ा अलग तरीके से हल किया था। मैंने अपनी जेएस फाइल के लिए स्क्रिप्ट लोडर का उपयोग किया है जिसमें jquery शामिल है। स्क्रिप्ट लोडर आपकी जेएस फाइल लेता है और इसे अपने विक्रेता के शीर्ष पर जोड़ता है। जेएस फ़ाइल ने मेरे लिए जादू किया

https://www.npmjs.com/package/script-loader

स्क्रिप्ट लोडर स्थापित करने के बाद इसे अपने बूट या एप्लिकेशन फ़ाइल में जोड़ें

आयात 'स्क्रिप्ट! पथ / your-file.js';

एक अच्छा और साफ समाधान

  1. JQuery का उपयोग एनपीएम पर करें ( npm install jquery --save )
  2. इसे प्रयोग करें: <script> let $ = require("jquery") </script>

ठीक है, यहां एक और विकल्प है, अगर आप चाहते हैं कि कोई रिश्तेदार इसमें शामिल हो …

 <script> window.$ = window.jQuery = require('./assets/scripts/jquery-3.2.1.min.js') </script> 
 <script> delete window.module; </script> 

आपके jquery आयात करने से पहले और आप जाने के लिए अच्छा कर रहे हैं अधिक जानकारी यहां ।