2015-11-13 8 views
6

मैं अपने index.html फ़ाइल में बोवर निर्भरताओं को इंजेक्ट करने के लिए गुलप कार्य में Wiredep का उपयोग करने का प्रयास कर रहा हूं। निम्नलिखित कार्य (वायर्डेप के बिना) ठीक चलाता है।वार्डेप मेरे गलती कार्य में "dest.on एक फ़ंक्शन नहीं है" के साथ क्यों त्रुटि कर रहा है?

gulp.task('build', ['copy', 'assets'], function(){ 

    return gulp.src('app/index.html') 
    .pipe(inject(gulp.src(['dist/assets/js/*.js', 'dist/assets/css/*.css'], {read: false}), {relative: true})) 
    .pipe(gulp.dest('dist')); 
}); 

अब मैं इसे करने के लिए Wiredep जोड़ने की कोशिश की:

var wiredep = require('wiredep'); 

gulp.task('build', ['copy', 'assets'], function(){ 

    return gulp.src('app/index.html') 
    .pipe(wiredep()) 
    .pipe(inject(gulp.src(['dist/assets/js/*.js', 'dist/assets/css/*.css'], {read: false}), {relative: true})) 
    .pipe(gulp.dest('dist')); 
}); 

कौन सा में परिणाम:

[09:45:11] TypeError: dest.on is not a function 
    at DestroyableTransform.Readable.pipe (C:\GIT\myApp\myApp-front\node_module 
s\gulp-debug\node_modules\through2\node_modules\readable-stream\lib\_stream_read 
able.js:533:8) 
    at Gulp.<anonymous> (C:\GIT\myApp\myApp-front\gulpfile.js:38:6) 
    at module.exports (C:\GIT\myApp\myApp-front\node_modules\gulp\node_modules\ 
orchestrator\lib\runTask.js:34:7) 
    at Gulp.Orchestrator._runTask (C:\GIT\myApp\myApp-front\node_modules\gulp\n 
ode_modules\orchestrator\index.js:273:3) 
    at Gulp.Orchestrator._runStep (C:\GIT\myApp\myApp-front\node_modules\gulp\n 
ode_modules\orchestrator\index.js:214:10) 
    at C:\GIT\myApp\myApp-front\node_modules\gulp\node_modules\orchestrator\ind 
ex.js:279:18 
    at finish (C:\GIT\myApp\myApp-front\node_modules\gulp\node_modules\orchestr 
ator\lib\runTask.js:21:8) 
    at C:\GIT\myApp\myApp-front\node_modules\gulp\node_modules\orchestrator\lib 
\runTask.js:52:4 
    at f (C:\GIT\myApp\myApp-front\node_modules\gulp\node_modules\orchestrator\ 
node_modules\end-of-stream\node_modules\once\once.js:17:25) 
    at DestroyableTransform.onend (C:\GIT\myApp\myApp-front\node_modules\gulp\n 
ode_modules\orchestrator\node_modules\end-of-stream\index.js:31:18) 

मैं using Wiredep from the command line सीधे की कोशिश की और यह ठीक चलाते हैं। मैं नोड v4.2.2 का उपयोग कर विंडोज़ पर चल रहा हूं।

संपादित किसी को भी एक ही समस्या का सामना करना पड़ता है, तो वैकल्पिक हल के लिए काम बदलने के लिए है:

gulp.task('build', ['copy', 'assets'], function(){ 
    wiredep({src:'dist/index.html'}); 

    return gulp.src('dist/index.html') 
    .pipe(inject(gulp.src(['dist/assets/js/*.js', 'dist/assets/css/*.css'], {read: false}), {relative: true})) 
    .pipe(gulp.dest('dist')); 
}); 

ध्यान दें, कि index.html इंजेक्षन beeing से पहले जिले निर्देशिका में प्रतिलिपि है।

मैं अभी भी सोच रहा हूं कि मैं निर्भरताओं को तारने के लिए धाराओं का उपयोग क्यों नहीं कर सकता।

उत्तर

14

मैं बस इस समस्या में खुद भाग गया। यह वायर्डप आयात करने के तरीके के कारण है। आप क्रम में निम्नलिखित करने की ज़रूरत के लिए यह एक घूंट धारा के हिस्से के रूप पहुंचाया जा करने के लिए:

var wiredep = require('wiredep').stream; 

.stream भाग को छोड़कर आप एक घूंट धारा के बाहर एक समारोह के रूप wiredep उपयोग करने के लिए अनुमति देता है।

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