Browserify 不解析外部文件

Browserify does not resolve external file

我正在尝试在 gulp 中使用 browserifyGulpfile.js 包含简单任务:

gulp.task('browserify', function () {
var x = browserify('./src/main/js/init.js');
return x.bundle({
    ignoreMissing: true
})
    .pipe(source('init.js'))
    .pipe(gulp.dest('./dist/js/'));

});

其中 init.js 是:

require("d3");

我正在尝试使用别名 "d3",这是 browserify 不应尝试解析的外部依赖项。 运行 这会导致 browserify 挂起,尽管它说任务已经挂起。最好的方法是什么?使用 browserify 4.2.0.

PS:也尝试过使用external选项

编辑:运行 从命令行

browserify src/main/js/init.js  --ignore-missing

似乎有效

您应该在条目文件上使用 gulp.src 我用这个并且有效

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

gulp.task('browserify', function () {

   return gulp.src('./src/main/js/init.js')
        .pipe(browserify({ //browserify options
            debug: true
        }))
        .pipe(rename('initBuild.js'))
        .pipe(gulp.dest('./dist/js/'));
}

编辑

显然它已被弃用。 尝试在 browserify 构造函数上使用对象选项。

var x = browserify({
    entries: './src/main/js/init.js',
    ignoreMissing: true
});

return x.bundle()
    .pipe(source('init.js'))
    .pipe(gulp.dest('./dist/js/'));

看看这是否有效:

gulp.task('browserify', function () {
  return browserify('./src/main/js/init.js')
    .exclude('d3')
    .bundle()
    .pipe(source('init.js'))
    .pipe(gulp.dest('./dist/js/'));
});