2013-08-27 11 views
5

मैं वास्तव में विकास ग्रंट फ़ाइल और स्क्रिप्ट के एक उत्पादन संस्करण का उपयोग करने में सक्षम होना पसंद करूंगा।वैकल्पिक grunt.js विकास/उत्पादन वातावरण के लिए कार्य

मैंने एसओ पर सुझाव देने की कोशिश की है, लेकिन मेरी स्क्रिप्ट सिर्फ देव/प्रोड तर्क को कॉल करने का प्रयास करते समय विफल हो जाएगी। मेरा मानना ​​है कि जवाब गड़बड़ी के पुराने संस्करण के लिए है, या हो सकता है कि प्लगइन मैं उपयोग कर रहा हूं।

module.exports = function (grunt) { 

    // load all grunt tasks 
    require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks); 

    grunt.initConfig({ 
     pkg: grunt.file.readJSON('package.json'), 
     compass: { 
      dev: { 
       options: { 
        config: 'config.rb', 
        force: true, 
        livereload: true 
       } 
      } 
     }, 
     uglify: { 
      build: { 
       src: ['docroot/js/*.js', 'docroot/components/**/*.js'], 
       dest: 'docroot/dis/main.min.js' 
      } 
     }, 
     watch: { 
      options: { 
       dateFormat: function(time) { 
        grunt.log.writeln('The watch finished in ' + time + 'ms at' + (new Date()).toString()); 
        grunt.log.writeln('Waiting for more changes...'); 
       }, 
       livereload: true 
      }, 
      sass: { 
       files: ['docroot/sass/*.scss'], 
       tasks: ['compass:dev'] 
      }, 
      /* watch and see if our javascript files change, or new packages are installed */ 
      js: { 
       files: '<%= uglify.build.src %>', 
       tasks: ['uglify'] 
      }, 
      /* watch our files for change, reload */ 
      livereload: { 
       files: ['*.html', 'docroot/css/*.css', 'docroot/img/*', 'docroot/js/{main.min.js, plugins.min.js}'], 
       options: { 
        livereload: true 
       } 
      } 
     } 
    }); 


    grunt.registerTask('default', 'watch'); 
}; 

वास्तव में, इतने लंबे समय मैं उन्हें, के साथ बुला उदाहरण के लिए चल रहे दो संस्करण प्राप्त कर सकते हैं:

grunt //local 
grunt prod //live 

तो मैं स्क्रिप्ट के साथ चारों ओर खेल सकते हैं और क्या लोड करने के लिए।

+1

मुझे लगता है कि आप देख रहे हैं "विकल्प" है - https://github.com/gruntjs/grunt/wiki/grunt.option - मेरा मानना ​​है कि यह अभी भी सही तरीका है। यह भी जांच करें क्योंकि उनके पास इस पहेली के लिए उपयोगी टुकड़ों के सभी प्रकार के साथ एक साफ सेटअप है। आपको बस याद रखना होगा कि गड़बड़ी सर्वर और गड़बड़ी का निर्माण है। – Dylan

उत्तर

14

तुम भी सिर्फ इतना है कि कार्यों की एक सरणी कॉल एक कार्य रजिस्टर कर सकते हैं

grunt.registerTask('prod', ['tasks1','task2']); 
अपने डिफ़ॉल्ट कार्य से पहले

, कि हो सकता है

$ grunt prod 
+0

भयानक धन्यवाद डिलन, मुझे इसे देखने की आवश्यकता होगी। कोई मौका आप मुझे एक स्पष्ट उदाहरण देना चाहते हैं? –

+0

शानदार, मुझे यह स्वीकार करना होगा कि जब तक मैं यमन को अपना जादू नहीं देता तब तक मुझे यह नहीं मिला और फिर फ़ाइल को देखा। तो मुझे योनि को इंगित करने के लिए धन्यवाद। और रजिस्टर टास्क। प्रतिभाशाली। –

+0

यमन के साथ बोर्ड पर जाने के लिए प्रोड के लिए धन्यवाद, मैं procrastinating रहा था;) –

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