के साथ काम नहीं कर रहा है, मैं अपने प्रोजेक्ट में नए बनाए गए एसएएसएस आयात को ऑटो जोड़ने के लिए gulp-इंजेक्ट का उपयोग कर रहा हूं। यह ठीक काम करता है, नए एस.ए.एस.एस. फ़ाइलों को सही ढंग आयात किया जाता है, लेकिन जब एक पहले से ही आयात की गई फ़ाइल जबकि घूंट-घड़ी हटा दी जाती है चल रहा है यह निम्न त्रुटि के साथ दुर्घटनाओं:gulp-inject gulp-watch
Error: _dev\style\style.scss
Error: File to import not found or unreadable: components/_test - Copy.scss
Parent style sheet: stdin
on line 2 of stdin
>> @import "components/_test - Copy.scss";
मैं एक अच्छा कुछ घंटे बिताए हैं काम करने की कोशिश बाहर क्यों यह पुराने आयात के साथ स्टाइलशीट के पुराने संस्करण को संकलित करने का प्रयास करता है। मैंने एसएएसएस कार्य में देरी निर्धारित की है और गल्प-एसएएस के समय तक आयात वास्तविक फ़ाइल में सही हैं। मैंने पढ़ा है कि गल्प-घड़ी स्टाइलशिप को कैशिंग कर सकती है, लेकिन वास्तव में सुनिश्चित नहीं है।
नीचे मेरी गुलप फ़ाइल की प्रासंगिक बिट्स हैं, नीचे मेरी पूर्ण gulp फ़ाइल का एक लिंक है। (घटकों कार्य एस.ए.एस.एस. कार्य चलाता है)
// SASS
plugins.watch([paths.dev+'/**/*.scss',!paths.dev+'/style/components/**/*.scss'], function() {gulp.start(gulpsync.sync([
'build-sass'
]));});
// COMPONENTS
plugins.watch(paths.dev+'/style/components/**/*.scss', function() {gulp.start(gulpsync.sync([
'inject-deps'
]));});
एस.ए.एस.एस. कार्य
gulp.task('build-sass', function() {
// SASS
return gulp.src(paths.dev+'/style/style.scss')
.pipe(plugins.wait(1500))
.pipe(plugins.sass({ noCache: true }))
.pipe(gulp.dest(paths.tmp+'/style/'));
});
इंजेक्षन कार्य
gulp.task('inject-deps', function() {
// Auto inject SASS
gulp.src(paths.dev+'/style/style.scss')
.pipe(plugins.inject(gulp.src('components/**/*.scss', {read: false, cwd:paths.dev+'/style/'}), {
relative: true,
starttag: '/* inject:imports */',
endtag: '/* endinject */',
transform: function (filepath) {
return '@import "' + filepath + '";';
}
}))
:
यहाँ मेरी घड़ी कार्य दिए गए हैं
पूर्ण Gulp फ़ाइल:
: https://jsfiddle.net/cwu0m1cp/के रूप में यहाँ का अनुरोध किया एस.ए.एस.एस. आयात के साथ दायर की है, यह ठीक रूप में लंबे समय से काम करता है के रूप में घड़ी काम नहीं चल रहा है, आयात की गई फ़ाइलें नहीं सीएसएस शामिल
एस.ए.एस.एस. फ़ाइल से पहले हटाएं:
/* inject:imports */
@import "components/_test.scss";
@import "components/_test-copy.scss";
/* endinject */
एस.ए.एस.एस. फ़ाइल के बाद उसे हटा:
/* inject:imports */
@import "components/_test.scss";
/* endinject */
दोनों इंजेक्शन-डीपीएस और 'बिल्ड-सास' दोनों एक ही फाइल का स्रोत हैं। यह सिर्फ एक धारा/कार्य क्यों नहीं है?और 'इंजेक्शन-डीपीएस' में 'gulp.dest()' क्यों नहीं है? –
और उन सभी कार्यों के साथ क्या हो रहा है: 'watch: message',' watch: reload', 'clean: pub', 'build: pub'। या तो वे आपके प्रश्न के लिए प्रासंगिक हैं तो आपको उन्हें शामिल करने की आवश्यकता है। या वे प्रासंगिक नहीं हैं तो उन्हें उल्लेख करने से परेशान मत हो। पढ़ें [यह] (http://stackoverflow.com/help/mcve) –
मुझे एक घड़ी लूप मिल रहा था जब दोनों सास और इंजेक्शन एक ही काम में थे, मुझे इसके कारण उन्हें अलग करना पड़ा। मैंने अपना पूरा कार्य कॉपी किया है, आपके द्वारा उल्लिखित बिट्स प्रासंगिक नहीं हैं, अगर मैं स्पष्ट हूं तो मैं उन्हें निकाल सकता हूं। – Alex