我試圖在我的Gulp文件中使用Browserify,但似乎無論如何設置它,它總是會拋出一個錯誤,讀取「dest .write不是一個函數「。我最初開始使用gulp-concat執行此任務:Gulp和Browserify總是給「dest.write不是函數」錯誤
gulp.task('scripts', function()
{
return gulp.src(['src/shared/js/one.js', 'src/shared/js/two.js', 'src/shared/js/*.js'])
.pipe(browserify()
.pipe(concat('main.js'))
.pipe(gulp.dest('dist/js'))
.pipe(browserSync.stream());
});
當我註釋掉了browserify()行時,一切正常。雖然周圍的Googling爲解決該錯誤信息,我發現this page當有人鏈接到它,說:「吞氣文檔對這一解決辦法狂歡」(here):
var gulp = require('gulp');
var browserify = require('browserify');
var transform = require('vinyl-transform');
var uglify = require('gulp-uglify');
gulp.task('browserify', function() {
var browserified = transform(function(filename) {
var b = browserify(filename);
return b.bundle();
});
return gulp.src(['./src/*.js'])
.pipe(browserified)
.pipe(uglify())
.pipe(gulp.dest('./dist'));
});
我進一步挖,和閱讀vinyl-transform
沒有按不以這種方式與Browserify一起工作,因爲沒有寫入流,並且首選的方法是使用vinyl-source-stream
代替。我現在目前正在使用此建議的解決方案,但仍然得到錯誤:
gulp.task('scripts', function()
{
return gulp.src(['src/shared/js/one.js', 'src/shared/js/two.js', 'src/shared/js/*.js'])
.pipe(browserify('src/shared/js/*.js', {
debug: true,
extensions: ['.js']
}))
.bundle()
.pipe(source('main.js'))
.pipe(buffer())
.pipe(gulp.dest('dist/js'))
.pipe(browserSync.stream());
});
調整以各種方式browserify()引用並沒有改變任何東西。誰能告訴我我做錯了什麼?
難道僅僅是錯字'管(browserify()'__)__ < - 在你的第一個缺少一個右')'代碼片段? – Molda
可悲的是沒有。不知道當我在這裏複製/粘貼時怎麼會被遺漏,但我重新運行它,但仍然產生了錯誤。 – pWEN