2013-09-08 13 views
6

का उपयोग करते समय अंतहीन रूप से लूप करता है मैं केवल ग्रंट सीख रहा हूं। मैं css3 शैलियों prefixing के लिए ऊर्ध्वाधर लय और छवि स्प्राइट पीढ़ी और autoprefixer के लिए कंपास का उपयोग करने जा रहा हूँ।grunt-autribrefixer grunt-contrib-watch

यहां मेरा Gruntfile.js है।

module.exports = function(grunt) { 
    var globalConfig = { 
    sassDir: 'sass', 
    cssDir: 'css' 
    }; 

    require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks); 
    // Project configuration. 
    grunt.initConfig({ 
    globalConfig: globalConfig, 
    pkg: grunt.file.readJSON('package.json'), 
    compass: { 
     dev: { 
     options: { 
      sassDir: '<%= globalConfig.sassDir %>', 
      cssDir: '<%= globalConfig.cssDir %>' 
     } 
     } 
    }, 
    autoprefixer: { 
     dev: { 
     options: { 
      browsers: ['last 2 versions'] 
     }, 
     src: '<%= globalConfig.cssDir %>/style.css', 
     dest: '<%= globalConfig.cssDir %>/style.css' 
     } 
    }, 
    watch: { 
     compass: { 
     files: ['<%= globalConfig.sassDir %>/**/*.scss'], 
     tasks: ['compass:dev'], 
     }, 
     autoprefixer: { 
     files: ['<%= globalConfig.cssDir %>/style.css'], 
     tasks: ['autoprefixer:dev'] 
     }, 
     livereload: { 
     options: { livereload: true }, 
     files: ['<%= globalConfig.cssDir %>/style.css'] 
     } 
    } 
    }); 

    // Default task(s) that will be run by invoking 'grunt' w/o args 
    grunt.registerTask('styles:dev', ['compass', 'autoprefixer']); 
    grunt.registerTask('default', ['styles:dev', 'watch']); 
}; 

लेकिन जब भी मैं

grunt 

सब कुछ है कि घुरघुराना-योगदान-घड़ी को छोड़कर अपेक्षा के अनुरूप बेहद घुरघुराना-autoprefixer कॉल काम करता है चलाते हैं।

मैं बस ग्रंट सीखना शुरू कर रहा हूं। यह शायद मेरे पर एक गलत कॉन्फ़िगरेशन है Gruntfile.js

मुझे आशा है कि आप यहां मेरी सहायता कर सकते हैं।

उत्तर

10

करने के लिए अपने काम के विन्यास परिवर्तित करें:

watch: { 
    compass: { 
    files: ['<%= globalConfig.sassDir %>/**/*.scss'], 
    tasks: ['compass:dev', 'autoprefixer:dev'] 
    }, 
    livereload: { 
    options: { livereload: true }, 
    files: ['<%= globalConfig.cssDir %>/style.css'] 
    } 
} 
मूल रूप से

, घुरघुराना-योगदान-घड़ी कार्य जब भी एक फ़ाइल अद्यतन किया जाता है चलेगा, और क्योंकि आपके स्रोत और गंतव्य फ़ाइलें समान हैं यह यह एक अनंत लूप में बदल जाता है । एक बार आपके कंपास कार्य ने आपके सीएसएस का निर्माण करने के बाद बस ऑटोप्रिफिक्सिंग चलाएं। उम्मीद है की यह मदद करेगा। :-)

+1

हाँ, यह तय किया गया है। बहुत बहुत धन्यवाद। – chanHXC

+0

यदि आपको कोई फर्क नहीं पड़ता है, तो क्या आप gruntfile.js को कॉन्फ़िगर करने के साथ कुछ सर्वोत्तम अभ्यास युक्तियां साझा करेंगे? :) धन्यवाद। – chanHXC

+0

एक बार जब आप कार्यों को कॉन्फ़िगर करने के लिए उपयोग करते हैं, तो आपको विभिन्न प्लगइन का एक भार मिलेगा जो सामान्य विकास कार्यों के सभी प्रकार स्वचालित कर सकते हैं। वास्तव में ऐसी कई सर्वोत्तम प्रथाएं नहीं हैं जिन्हें मैं आपको इस उदाहरण में संदर्भित कर सकता हूं, आप पहले से ही सामान्य निर्देशिकाओं के लिए एक कॉन्फ़िगरेशन सेट कर चुके हैं, मैचडैप चाल आदि का उपयोग किया है। मैंने पाया है कि यह काम करने के लिए यह बिल्कुल सरल है, जो आपको प्रदान करता है प्रत्येक प्लगइन के लिए प्रलेखन पढ़ें। निश्चित रूप से नए प्लगइन के लिए एनपीएम रिपोजिटरी के माध्यम से ब्राउज़ करें, फिर भी खोजने के लिए बहुत कुछ है :-) – Ben