2012-11-19 15 views
10

एकाधिक परियोजनाओं के लिए ग्रंट में सामान्य कॉन्फ़िगरेशन विकल्पों को कैसे प्रबंधित करते हैं। परियोजनाएं कुछ सामान्य विन्यास विकल्प साझा करेंगी, उदा। min के लिए, लेकिन निजी या कस्टम प्रति प्रोजेक्ट कॉन्फ़िगरेशन सेटिंग्स, उदा। तीन परियोजनाओं में से केवल एक को less की आवश्यकता है या इसके लिए अलग-अलग विकल्प हैं।grunt.js कॉन्फ़िगरेशन में सामान्य कॉन्फ़िगरेशन विकल्पों के लिए विरासत

क्या विरासत का उपयोग करके, मौजूदा फ़ाइल को आयात करने या आयात करने के लिए परियोजनाओं के बीच इस सामान्य कॉन्फ़िगरेशन को साझा करने का कोई तरीका है, या क्या प्रत्येक प्रोजेक्ट को सभी सेटिंग्स को परिभाषित करना है?

परियोजनाओं मैं

root 
    module1 
     grunt.js 
    module2 
     grunt.js 
    module3 
     grunt.js 

वहाँ किसी तरह root स्तर पर आम विन्यास सेटिंग्स प्रदान करने के लिए है की तरह एक निर्देशिका पदानुक्रम में रहते हैं की चर्चा करते हुए कर रहा हूँ?

उत्तर

10

आप जितनी जरूरत हो उतनी बाहरी JSON फ़ाइलों में कॉन्फ़िगरेशन आसानी से स्टोर कर सकते हैं। grunt.file.readJSON आपको यहां सहायता करेगा। उदाहरण के लिए:

module.exports = function(grunt) { 

    var concatConf = grunt.file.readJSON('../concat-common.json'), 
     minConf = grunt.file.readJSON('../min-common.json'); 

    // do whatever you want with concatConf and minConf here 
    // ... 

    // Project configuration. 
    grunt.initConfig({ 
    pkg: '<json:grunt-sample.jquery.json>', 
    meta: { 
     banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' + 
     '<%= grunt.template.today("yyyy-mm-dd") %>\n' + 
     '<%= pkg.homepage ? "* " + pkg.homepage + "\n" : "" %>' + 
     '* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' + 
     ' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */' 
    }, 

    concat: concatConf, 
    min: minConf 

    // ... 
    }); 

    // Default task. 
    grunt.registerTask('default', 'concat min'); 

}; 

मत भूलना कि एक gruntfile नोड में मार डाला एक नियमित रूप से जावास्क्रिप्ट फ़ाइल पर्यावरण और विन्यास विकल्प नियमित जावास्क्रिप्ट वस्तुओं :)

+1

भी हो रहा है - 'वर config की आवश्यकता होती है = (__ dirname +"/मिनट-common.json ");' –

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