使用browserify忽略模块

k.m*_*rov 5 javascript browserify gulp

由于gulp-browserify模块被列入黑名单,我试图在没有gulp-browserify的情况下重写gulpfile.js中的旧代码.

我用gulp-browserify完成了这项工作

var gulp = require('gulp'),
    browserify = require('gulp-browserify');

gulp.task('browserify', function() {
    return gulp.src('./lib/tssoft.commons.js')
        .pipe(browserify({
            ignore: ['jsdom']
        }))
        .pipe(gulp.dest('./dist/'))
});
Run Code Online (Sandbox Code Playgroud)

如你所见,我告诉gulp-browserify在浏览器中忽略require('jsdom').

卸载gulp-browserify后,我安装了browserify模块并重写代码

var gulp = require('gulp'),
    browserify = require('browserify');

gulp.task('browserify', function() {
    var b = browserify();
    b.ignore('jsdom');
    b.add('./lib/tssoft.commons.js');
    return b.bundle()
        .pipe(gulp.dest('./dist/'));
});
Run Code Online (Sandbox Code Playgroud)

并得到此错误:"path.resolve的参数必须是字符串".

Iva*_*yev 7

就在几天前就这样了,你走了:

var gulp = require('gulp'),
    browserify = require('browserify'),
    source = require('vinyl-source-stream');

gulp.task('browserify', function() {
    var b = browserify();
    b.ignore('jsdom');
    var path = './lib/tssoft.commons.js';
    b.add(path);
    return b.bundle()
        .pipe(source(path))
        .pipe(gulp.dest('./dist/'));
});
Run Code Online (Sandbox Code Playgroud)