2014-07-24 9 views
15

से जेसन ऑब्जेक्ट पढ़ें, मैं अपनी जेएस फाइलों का नाम बदलने के लिए grunt-hash प्लगइन का उपयोग करना चाहता हूं।ग्रंट - फ़ाइल

hash: { 
    options: { 
     mapping: 'examples/assets.json', //mapping file so your server can serve the right files 

अब मैं सभी उपयोगों बदल कर भी इस फ़ाइलों के लिंक को ठीक करने की जरूरत है (करने के लिए 'index.js' नाम बदलें 'index- {हैश} .js': इस प्लगइन एक नया नाम बदली गई फ़ाइलों का नक्शा फ़ाइल बनानी) तो मैं grunt-text-replace प्लगइन का उपयोग करना चाहता हूं। प्रलेखन मैं प्रतिस्थापन cofigure की जरूरत के अनुसार:

replace: { 
    example: { 
    replacements: [{ 
     from: 'Red', // string replacement 
     to: 'Blue' 
    }] 
    } 
} 

मैं कैसे प्रत्येक फ़ाइल के लिए {हैश} मूल्यों को प्राप्त और कार्य को बदलने के लिए उन्हें प्रदान करने के लिए json मैपिंग फ़ाइल पढ़ सकें?

+0

@ भविष्य पाठक: यदि आप सिर्फ एक फ़ाइल में पढ़ना चाहते हैं, तो ['grunt.file.read'] (https://gruntjs.com/api/grunt.file#grunt.file.read) का उपयोग करें – jpaugh

उत्तर

22
grunt.file.readJSON('your-file.json') 

शायद आप जो खोज रहे हैं वह शायद है।

मैंने थोड़ा परीक्षण स्थापित किया है।

{ 
    "mapping": [ 
    {"file": "foo.txt"}, 
    {"file": "bar.txt"} 
    ] 
} 

मेरी Gruntfile.js में मैं निम्नलिखित साधारण परीक्षण कार्य में लिखा है, जो 'मानचित्रण में पहली वस्तु में लिखा है: मैं एक साधारण JSON फ़ाइल' mapping.json 'है, जो निम्नलिखित JSON ऑब्जेक्ट शामिल है '-array:

grunt.registerTask('doStuff', 'do some stuff.', function() { 
    mapping = grunt.file.readJSON('mapping.json'); 
    grunt.log.write(mapping.mapping[0]["file"]).ok(); 
}); 

जब ग्रंट कार्य लागू, कंसोल आउटपुट के रूप में किया जाएगा इस प्रकार है:

$ grunt doStuff 
Running "doStuff" task 
foo.txtOK 

Done, without errors. 

मुझे आशा है कि इस मदद करता है! :)

+0

क्या कार्य को बदलने के लिए 'मैपिंग' चर प्रदान करना संभव है? या वैश्विक चर के लिए निकालें। – Livon

+0

मुझे यकीन नहीं है कि क्या मैं प्रतिस्थापन कार्य को सही ढंग से समझता हूं, लेकिन क्या JSON फ़ाइल को उस स्थानांतरित कार्य के भीतर से पढ़ना संभव नहीं होगा? – lumannnn

+0

मैंने अभी अपना प्रश्न अपडेट कर लिया है। प्रतिस्थापन कार्य की कॉन्फ़िगरेशन देखें। – Livon

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