Я пытаюсь обновить мою версию babel с 6 до 7, я удалил babel 6, внеся следующие изменения в мой файл package.json, обновив его до версии 7 и обновив browserify и babelify, чтобы иметь возможность обрабатывать Обновление Babel.
- "babel-core": "^6.26.3",
- "babel-plugin-transform-es2015-for-of": "^6.23.0",
- "babel-plugin-transform-runtime": "^6.23.0",
- "babel-preset-env": "^1.6.1",
- "babel-preset-es2015": "^6.24.1",
- "babel-preset-stage-0": "^6.24.1",
- "babelify": "^8.0.0",
- "browserify": "^16.2.0",
+ "@babel/core": "^7.2.2",
+ "@babel/plugin-transform-for-of": "^7.2.0",
+ "@babel/plugin-transform-runtime": "^7.2.0",
+ "@babel/preset-env": "^7.2.3",
+ "babelify": "^10.0.0",
+ "browserify": "^16.2.3",
У меня есть простая реализация gulp, которая выглядит следующим образом:
gulp.task('js:compile', ['js:lint'], function () {
return browserify({
entries: paths.js + '/main.js',
debug: true
})
.transform(babelify, { global: true })
.bundle()
.on('error', function (err) { console.error(err); })
.pipe(source('main.js'))
.pipe(buffer())
.pipe(sourcemaps.init({ loadMaps: true }))
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest(paths.buildJs));
});
И мой .babelrc
{
"presets": [
[
"@babel/preset-env", {
"modules": false,
"targets": {
"browsers": [
"last 5 versions",
"ie 11",
"safari >= 7"
]
}
}
]
],
"plugins": [
"@babel/plugin-transform-for-of",
"@babel/plugin-transform-runtime"
]
}
Когда я пытаюсь запустить это, я получаю следующую ошибку, main.js является основной точкой входа для моего JavaScript.
SyntaxError: 'import' and 'export' may appear only with 'sourceType: module' (1:0) while parsing /Users/codecomp/test/assets/js/main.js while
parsing file: /Users/codecomp/test/assets/js/main.js
Эта реализация ранее работала нормально с моими старыми версиями Babel, Browserify и Babelify / Я копался в журналах изменений и не могу найти ничего подходящего, что вызвало бы проблему. У меня была такая же ошибка ранее, когда я впервые настраивал проект, хотя я не могу вспомнить, что я исправил или вызвал.