【问题标题】:Ignore module with browserify in gulp在 gulp 中使用 browserify 忽略模块
【发布时间】:2015-04-10 13:05:38
【问题描述】:

由于 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/'))
});

如你所见,我告诉 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/'));
});

并得到这个错误:“path.resolve 的参数必须是字符串”。

【问题讨论】:

    标签: javascript gulp browserify


    【解决方案1】:

    几天前偶然发现了这个,你去吧:

    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/'));
    });
    

    【讨论】:

      【解决方案2】:

      gulp-browerify 忽略需要一个绝对路径。 所以你只需:

      var gulp = require('gulp'),
      browserify = require('gulp-browserify');
      gulp.task('browserify', function() {
          return gulp.src('./lib/tssoft.commons.js')
              .pipe(browserify({
                  ignore: [require.resolve('jsdom')]
              }))
              .pipe(gulp.dest('./dist/'))
      });
      

      祝你好运

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-06-13
        • 2016-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-21
        • 1970-01-01
        相关资源
        最近更新 更多