Функция взлома браузера. Ошибка «Uncaught ReferenceError: foo не определен» - PullRequest
0 голосов
/ 27 июня 2018

У меня есть функция, которая выглядит так:

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

Если я запускаю это, это работает. Но я хочу расширить этот проект, поэтому теперь мне нужно запустить Browsify, который меняет функцию так:

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

Эта функция теперь выдает ошибку в строке = function foo() {, которая говорит "Uncaught ReferenceError: foo не определена" в Chrome.

Кто-нибудь имеет представление о том, почему это происходит и что мне нужно делать?

мой файл gulp выглядит так:

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

Есть идеи?

1 Ответ

0 голосов
/ 28 июня 2018

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"));

});
...