Я настраиваю шаблон, запускающий Gulp with Babel.Я создал 2 простых файла (app.js
и Caller.js
) для тестирования среды.
Caller.js:
export default class Caller {
constructor() {
//
}
SayHello() {
alert("Hello!!");
}
}
App.js:
import Caller from './Caller.js';
let x = new Caller();
x.SayHello();
App.js
упоминается в index.html
вместе с:
<script src="/js/Caller.js"></script>
<script src="/js/app.js"></script>
Моя задача Gulp выглядит следующим образом:
gulp.task('js', () => {
pump([
gulp.src(src.js),
plumber(err => console.error(err)),
babel({ presets: ['es2015', 'es2017'] }),
gulp.dest(dest.js),
browserSync.stream()
]);
});
Примечание: я стараюсь поддерживать старшегобраузеры, насколько это возможно, поэтому я хочу включить ES2015.
Я обнаружил, что при включении es2015, а не только es2017, я получаю следующие ошибки:
ReferenceError: экспорт не определен
ReferenceError:require не определен
Насколько я понимаю, этот код можно перенести в код, совместимый с ES2015, но если я удалю ES2015 из предустановок Babel в Gulp, он будет работать нормально.
Почему?