Browserify无法解析外部文件

时间:2015-05-13 12:26:20

标签: javascript gulp browserify

我试图在browserify内使用gulpGulpfile.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

似乎工作

2 个答案:

答案 0 :(得分:2)

看看是否有效:

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

答案 1 :(得分:0)

您应该在条目文件上使用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/'));