2017-07-24 9 views
10

मैं इलेक्ट्रान बिल्डर के साथ इलेक्ट्रॉन और पैकेजिंग के साथ एक आवेदन बना रहा हूं। इलेक्ट्रॉन चलाने पर, मैं यह command line argument: --enable-mixed-sandbox पास करना चाहता हूं।इलेक्ट्रॉन-निर्माता का उपयोग करते समय इलेक्ट्रॉन के लिए तर्क कैसे पारित करें?

क्या यह संभव है? कैसे?

यह:

app.commandLine.appendSwitch('enable-mixed-sandbox') 

due to काम नहीं होगा:

ध्यान दें कि यह काफी app.commandLine.appendSwitch कॉल करने के लिए नहीं है ('--सैंडबॉक्स enable'), के रूप में इलेक्ट्रॉन/नोड क्रोमियम सैंडबॉक्स सेटिंग्स में परिवर्तन करना संभव होने के बाद स्टार्टअप कोड चलाता है। स्विच कमांड लाइन पर इलेक्ट्रॉन को भेजे जाने चाहिए:

electron --enable-sandbox app.js 

यह ओएस सैंडबॉक्स केवल कुछ दाता के लिए सक्रिय करने के लिए करता है, तो --enable-सैंडबॉक्स सक्षम किया गया है संभव नहीं है, सामान्य इलेक्ट्रॉन खिड़कियों नहीं कर सकते बनाया जाना

+0

मुझे लगता है सबसे आसान तरीका शॉर्टकट संपादित करने के लिए इतना है कि यह है कि विकल्प के साथ की शुरूआत है। यह सुनिश्चित नहीं है कि प्रोग्रामेटिक रूप से ऐसा कैसे करें। – SwiftsNamesake

+0

https://github.com/electron-userland/electron-builder/issues/1905 – SwiftsNamesake

+0

@SwiftsNamesake उन तर्कों को इलेक्ट्रॉन तक नहीं पहुंचते हैं, जहां तक ​​मुझे पता है। क्या आप अन्यथा जानते हैं? – Pablo

उत्तर

0

आप अपने अनुप्रयोगों में app.commandLine.appendSwitch उपयोग कर सकते हैं मुख्य स्क्रिप्ट (एक इलेक्ट्रॉन खुलने वाली विंडो) अपने स्विच के लिए

उदाहरण

 

    app.commandLine.appendSwitch('enable-mixed-sandbox') 

+0

उस लाइन तक जब तक लाइन चलती है, तो उस विकल्प के लिए बहुत देर हो चुकी है। यह सैंडबॉक्सिंग के बारे में प्रलेखन में कहीं है (मैं अभी मोबाइल पर हूं)। – Pablo

-1

मुझे लगता है कि इस मुद्दे को मैं उठाया पर a response मिला होगा और टिप्पणियों से जुड़ा हुआ:

app.enableMixedSandbox() // Experimental macOS Windows 

here देखें cumentation।

+0

@ पाब्लो संपादित, पूरी तरह से नया उत्तर – SwiftsNamesake

-1

ऐसा करने का एक और तरीका, आप डीबग मोड में ऐप शुरू करने के लिए स्पेक्ट्रॉन का उपयोग कर सकते हैं। जो आपको इच्छित किसी भी तर्क को पारित करने की अनुमति देता है।

const Application = require('spectron').Application 
 

 
// Returns a promise that resolves to a Spectron Application once the app has loaded. 
 
// Takes a Ava test. Makes some basic assertions to verify that the app loaded correctly. 
 
function createApp (t) { 
 
    return new Application({ 
 
    path: 'path/to/app', 
 
    args: ['-r', '--enable-mixed-sandbox'], 
 
    env: {NODE_ENV: 'test'}, 
 
    waitTimeout: 10e3 
 
    }) 
 
}

https://github.com/electron/spectron#new-applicationoptions

+0

यह ऐप्पल वितरित करने के लिए इलेक्ट्रॉन निर्माता के साथ कैसे काम करता है? मैं देव मोड में जो भी तर्क चाहता हूं उसे पास कर सकता हूं, यह मुद्दा नहीं है। मुद्दा इलेक्ट्रॉन-निर्माता द्वारा उत्पन्न .exe है। – Pablo

+0

अच्छी तरह से मुझे नहीं लगता कि आप सुरक्षा चिंताओं के कारण बंडल ऐप के लिए सैंडबॉक्स पास कर सकते हैं। क्योंकि V8 इंजन में दस्तावेज़ _Some बग में वर्णित इलेक्ट्रॉन दुर्भावनापूर्ण कोड को रेंडरर प्रीलोड एपीआई तक पहुंचने की अनुमति दे सकता है, जो रिमोट मॉड्यूल के माध्यम से सिस्टम को प्रभावी रूप से पूर्ण पहुंच प्रदान करता है ._ यह जांचें [link] (https://stackoverflow.com/ ए/34742370/6942552) साथ ही थोड़ा और समझा सकता है। – Necmttn

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