5

मैं क्रोम पैक किए गए ऐप का निर्माण कर रहा हूं। मैं स्क्रिप्ट कॉन्फ़िगरेशन रखना चाहता हूं यदि संसाधन निर्देशिका में कॉन्फ़िगरेशन फ़ाइल और स्टार्टअप पर जावास्क्रिप्ट द्वारा इसे पढ़ना है।प्रोजेक्ट निर्देशिका से जावास्क्रिप्ट में गुण फ़ाइल को कैसे पढ़ा जाए?

उदाहरण के लिए

  • परियोजना
    • WebContent
      • index.html
      • manifest.json
      • main.js
      • संसाधन
        • config.properties

यहाँ मैं main.js शुरुआत में config.properties फ़ाइल लोड और कुंजी-मान जोड़ों प्राप्त करना चाहते हैं।

क्या किसी ने ऐसा कुछ किया है?

उत्तर

21

यह करने के लिए एक सुपर आसान तरीका है, sowbug के जवाब की तर्ज पर है, लेकिन जो किसी भी एक्सएचआर या फ़ाइल पढ़ने की जरूरत नहीं है।

चरण 1. तो जैसे संसाधन/config.js बनाएँ:

gOptions = { 
    // This can have nested stuff, arrays, etc. 
    color: 'red', 
    size: 'big', 
    enabled: true, 
    count: 5 
} 

चरण 2. आपका index.html में इस फाइल को शामिल करें:

<!doctype html> 
<head> 
    <script src="resource/config.js"></script> 
    ... 

चरण 3. पहुँच अपने विकल्प सीधे आपके main.js (या कहीं भी) से:

... 
    if (gOptions.enabled) { 
    for (var i = 0; i < gOptions.count; i++) { 
     console.log(gOptions.color); 
    } 
    } 
    ... 
+4

उत्तर समस्या का समाधान नहीं करता है। मेरे पास तृतीय पक्ष कोड में प्रयुक्त एक प्रॉपर्टी फ़ाइल भी है। जैसा कि आपने सुझाव दिया है, मैं इसे जेसन को फिर से लिख नहीं सकता। – anakkin

+1

मूल प्रश्न में उन प्रतिबंध नहीं थे।यदि आपके पास एक अलग आवश्यकता है तो एक अलग प्रश्न पूछें, और हम आपको ऐसा करने में कुछ मदद देंगे (आपके मामले में, शायद सैंडबॉक्स वाले पृष्ठों का उपयोग करके)। –

+0

मुझे लगता है कि यह किया था। शायद यह आपको स्पष्ट नहीं था कि ["गुण फ़ाइल"] (http://en.wikipedia.org/wiki/.properties) द्वारा क्या मतलब था – bacar

4

आप गुण फ़ाइल लोड करने के लिए मेरे द्वारा बनाई गई एक साधारण जावास्क्रिप्ट लाइब्रेरी messageResource.js का उपयोग कर सकते हैं।

1) अपने index.html में संदेशResource.js शामिल करें।

<script src="messageResource.min.js"></script>  

2) आप निम्न कोड का उपयोग करके main.js से config.properties के मुख्य-मूल्य जोड़े प्राप्त कर सकते हैं।

// initialize messageResource.js 
messageResource.init({ 
    // path to directory containing config.properties 
    filePath : 'resource' 
}); 

// load config.properties file 
messageResource.load('config', function(){ 
    // load file callback 

    // get value corresponding to a key from config.properties 
    var value = messageResource.get('key', 'config'); 
}); 
+1

मुझे गुण फ़ाइल में लिखित मान के बजाय मूल्य के रूप में 'key' क्यों मिल रहा है? – sarwar026

+0

@ खान मैंने आपके उत्तर में वर्णित सटीक प्रक्रिया का प्रयास किया है, लेकिन मुझे सरवर 026 जैसी ही समस्या है। – chaitanya89

+0

पहले सुनिश्चित करें कि config.properties एक यूआरएल के माध्यम से सुलभ है। MessageResource.get फ़ंक्शन को कॉल करने से पहले आपको नीचे दिए गए कोड का उपयोग करके गुण फ़ाइल लोड करनी चाहिए। 'messageResource.load ('config', function() { // लोड फ़ाइल कॉलबैक }); ' – Khan

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