Browserify breaking function. Error "Uncaught ReferenceError: foo is not defined"

Browserify breaking function. Error "Uncaught ReferenceError: foo is not defined"

我有一个看起来像这样的函数:

foo = () => {
  someClass.foo((error, someVariabel) => {
    // code
  });
}

如果我 运行 这行得通。但是我想扩展这个项目,所以我现在需要 运行 Browsify 将函数更改为如下所示:

foo = function foo() {
  someClass.foo(function (error, someVariabel) {
    // code
  });
};

此函数现在在行 = function foo() { 上给出一个错误,在 Chrome 中显示 "Uncaught ReferenceError: foo is not defined"。

有没有人知道为什么会这样以及我需要做什么?

我的 gulp 文件如下所示:

gulp.task('scripts', function() {
    gulp.src('js/*.js')
        .pipe(babel({
            presets: ['env']
        }))
        .pipe(browserify())
        .pipe(gulp.dest('dist/js'));
});

有什么想法吗?

Babel 在 browserify 上的表现很差,所以他们推荐 babelify

gulp.task("bundle", function () {
    return browserify({
        entries: "./src/index.js"
    })
        .transform(babelify.configure({
            presets: ["@babel/preset-env"]
        }))
        .bundle()
        .pipe(source("bundle.min.js"))
        .pipe(buffer())
        .pipe(sourcemaps.init())
        .pipe(uglify())
        .pipe(sourcemaps.write('./maps'))
        .pipe(gulp.dest("./build"));

});