2014-10-07 7 views
5

मुझे अपनी प्रोजेक्ट फ़ाइलों को देखने, पुनर्निर्माण और कनेक्ट सर्वर में होस्ट किए गए पृष्ठ को अपडेट करने के लिए ग्रंट को कॉन्फ़िगर करने में समस्या हो रही है। यदि मैं संयुक्त कार्य के हिस्से के रूप में किसी भी बिल्ड कार्य को चलाता हूं और फिर 'watch' चलाता हूं, तो 'watch' एक लूप में फंस जाता है, अंततः संदेश को प्रिंट करता है।ग्रंट वॉच बार-बार दिखा रहा है "चेतावनी: पैटर्न प्रदान करना होगा"

Running "watch" task 
Waiting... 
Warning: must provide pattern 

बजाय मैं सिर्फ $ grunt watch चलाते हैं, यह खुशी से मेरी स्रोत फ़ाइलों को देखने और संकलन होगा/के रूप में उपयुक्त का निर्माण।

मुझे लगता है कि प्रासंगिक कार्य विन्यास ये हैं:

watch: { 
    html: { 
    files: [ '<%= site.partials %>', '<%= site.layouts %>', '<%= site.pages %>' ], 
    tasks: [ 'html' ] 
    }, 
    sass: { 
    files: [ '<%= site.src %>sass/*.scss' ], 
    tasks: [ 'styles' ] 
    } 
}, 

// development server 
connect: { 
    options: { 
    port: 8080, 
    livereload: 35729, 
    hostname: 'localhost', 
    }, 
    dev: { 
    options: { 
     directory: 'build', 
    } 
    } 
}, 

और कार्य परिभाषाएँ:

grunt.registerTask('build', [ 'styles', 'html', ]); 
grunt.registerTask('default', [ 'build','connect:dev', 'watch' ]); 

'styles' और 'html' कार्यों घुरघुराना-सास चलाने के लिए और इकट्ठा। जैसा कि ऊपर बताया गया है, इनमें से कोई भी कार्य चल रहा है, या यहां तक ​​कि 'watch' अपने स्वयं के अनुमानित परिणामों को उत्पन्न करता है। इससे पता चलता है कि मेरी कॉन्फ़िगरेशन ऑब्जेक्ट में site.partials, site.dest आदि सही ढंग से परिभाषित हैं। समस्या तब होती है जब मैं कोई कार्य चलाता हूं और फिर 'watch', डिफ़ॉल्ट कार्य के रूप में।

+0

मुझे संदेह है कि समस्या 'साइट' ऑब्जेक्ट का संदर्भ देने वाले टेम्पलेट्स में है। हालांकि, आपके 'grunt.initConfig' कॉल के उस हिस्से को देखे बिना, मैं वास्तव में नहीं कह सकता। मुझे पता है कि यह सवाल अब पुराना है, लेकिन क्या आप या तो अपनी संपूर्ण ग्रंटफाइल पोस्ट कर सकते हैं या, यदि आपने समस्या हल कर ली है, तो अपना जवाब पोस्ट करें? – matty

उत्तर

-1

कनेक्ट: देव समस्या है। इसे हटाएं और इसे ठीक काम करना चाहिए।

+0

'ग्रंट-कॉन्ट्रिब-कनेक्ट' एक बहु-कार्य है और एक साथ कई लक्ष्यों को संभालने में सक्षम होना चाहिए। उनके दस्तावेज इस तरह के कई उदाहरण भी सुझाते हैं। एक विकल्प के साथ एक साधारण लक्ष्य क्यों होगा (एक विकल्प कनेक्ट जरूरत है) एक समस्या का कारण बनता है? –

+0

आगे स्पष्टीकरण के बिना, यह टिप्पणी यादृच्छिक है, शायद जीन-बॉट द्वारा बनाई गई है। जवाब देने का उद्देश्य मूल पोस्टर और अन्य पाठकों दोनों को सूचित करना है। 'कनेक्ट: देव' क्यों समस्या है? मुझे संदेह है कि यह नहीं है। – matty

13

मुझे एक ही समस्या का सामना करना पड़ा जब मैं अपने ग्रंटफाइल को संपादित कर रहा था और एक फ़ील्ड छोड़ दिया था (जिसमें फ़ाइल पैटर्न होना चाहिए) खाली।

खाली फ़ाइल फ़ील्ड के लिए अपनी Gruntfile देखें।

मेरी विशिष्ट उदाहरण में:

wiredep: { 
    options: { 
     overrides: { 
      "jquery-ui": { 
       "main": [ 
       "jquery-ui.js", 
       "themes/base/jquery-ui.css", 
       "" 
       ] 
      } 
     } 
    } 
} 

नोट रिक्त स्ट्रिंग ऊपर। इससे आपके लिए बहुत ही त्रुटि उत्पन्न हुई। ऐसा लगता है कि ग्रंट आपको नहीं बताता है, जहां त्रुटि दुर्भाग्यवश है। त्रुटि खोजने के लिए आपको मैन्युअल रूप से अपने Gruntfile से स्कैन करने की आवश्यकता होगी।

+0

धन्यवाद। आपके जैसी ही समस्या के कारण एक ही त्रुटि थी। –

+0

ग्रंट वास्तव में आपको यह बताते हुए बेकार है कि त्रुटि कहां है, मुझे इसे ट्रैक करने के लिए उम्र ले गई, लेकिन यह बिल्कुल ठीक था। –

+1

इस संदर्भ में '" <% = cfg.foo%> "जैसी स्ट्रिंग भी खाली है जब' cfg' में 'foo' नहीं है। यह मेरी समस्या है। – JonnyJD

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