2015-11-21 15 views
6

मैं एक इलेक्ट्रॉन ऐप का निर्माण कर रहा हूं और वर्तमान में किसी अन्य जावास्क्रिप्ट फ्रंट एंड की तरह रेंडरर (वेब ​​पेज) फ़ाइलों के लिए ब्राउज़र का उपयोग कर रहा हूं। मैं मुख्य प्रक्रिया फ़ाइलों को बंडल करने के लिए ब्राउज़र का उपयोग भी करना चाहता हूं। हालांकि, browswerify क्लिपबोर्ड, आईपीसी, ब्राउज़र-विंडो, ऐप इत्यादि जैसे मॉड्यूल में निर्मित इलेक्ट्रॉन को खोजने में असमर्थ है ...ब्राउज़र बंडल इलेक्ट्रॉन ऐप मुख्य प्रक्रिया फ़ाइल

मेरी main.js फ़ाइल में जो इलेक्ट्रॉन ऐप के लिए प्रवेश बिंदु के रूप में कार्य करता है। मेरे पास है:

const ipc = require('ipc'); 
const clipboard = require('clipboard'); 
const BrowserWindow = require('browser-window'); 
const app = require('app'); 
const yargs = require('yargs'); 

स्थिरांक भार ठीक yargs के रूप में यह node_modeuls फ़ोल्डर में है और browserify कि हल कर सकते हैं। हालांकि, चार वस्तुओं को ब्राउज़र द्वारा नहीं पाया जा सकता है और इसलिए मेरा निर्माण विफल हो जाता है।

[11:49:17] Finished 'development' after 17 ms 
Error: Cannot find module 'ipc' from '<path>' 
Error: Cannot find module 'clipboard' from '<path>' 
Error: Cannot find module 'browser-window' from '<path>' 
Error: Cannot find module 'app' from '<path>' 

कोई सुझाव?

उत्तर

4

ब्राउज़र के साथ आप 'ignoreMissing' और 'detectGlobals' विकल्प सेट कर सकते हैं जो ब्राउज़र को अंतर्निहित अंतर्निहित मॉड्यूल को अनदेखा करने की अनुमति देते हैं जो अंततः इलेक्ट्रॉन ऐप में स्वचालित रूप से लोड हो जाता है।

browserify({ 
    entries: './src/main.js', 
    extensions: ['.js'], 
    ignoreMissing: true, 
    detectGlobals: false, 
    bare: true, 
    debug: false 
}) 
+0

ब्राउज़र ब्राउज़र मॉड्यूल के भीतर 'डेस्कटॉप कैप्चरर' मॉड्यूल की आवश्यकता के लिए एक ही समस्या हो रही थी, जिसे मैं रेंडर प्रक्रिया में उपयोग करना चाहता था। मेरे डेस्कटॉप ब्राउज़र मॉड्यूल को बंडल करने का प्रयास करते समय 'डेस्कटॉप कैप्चरर' नहीं मिला। आपका जवाब समस्या का समाधान था। बहुत अच्छा काम करता है। +1 – DavidDomain

+0

आप यह कोड कहां रखा? – jtlindsey

संबंधित मुद्दे