我试图在我的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