Я создаю скрипт gulp для обработки моего кода ES2015, в конечном итоге с реакцией, но он просто не работает. Uglify выдавал ошибки. (stream.js:74 throw er; // Необработанная ошибка потока в канале.) Когда я посмотрел на сборку, стало очевидно, что код ES2015 не преобразуется.
Большинство решений этой проблемы касаются отсутствующего пресета. Я обязательно включил babel-preset-es2015
. У меня есть файл .babelrc, который гласит:
{
"presets": ["es2015", "react"]
}
Мой `gulpfile.babel.js не будет работать без него.
Файл, который я пытаюсь обработать, очень прост:
// index.js
let bobby = "bobby"
console.log(bobby + ' Drink rum.')
Когда он превратится в ранний JavaScript, let
следует заменить на var
. Может с моим gulpfile.babel.js
что-то не так?
import gulp from 'gulp';
import gulpLoadPlugins from 'gulp-load-plugins';
import runSequence from 'run-sequence';
import babel from 'gulp-babel';
// load all gulp-* plugins in node_modules
const plugins = gulpLoadPlugins()
gulp.task('default', () => {
runSequence('build', 'copy:index')
})
gulp.task('build', () => {
return gulp.src('src/**/*.js')
.pipe(babel())
.pipe(plugins.webpack())
// .pipe(plugins.uglify())
.pipe(plugins.rename('bundle.js'))
.pipe(gulp.dest('dist/'))
})
gulp.task('copy:index', () => {
gulp.src('src/index.html')
.pipe(gulp.dest('dist/'))
})
Моя версия gulp — 3.9.1. Моя версия узла — 6.2.0.
Это мои зависимости до сих пор:
"dependencies": {
"babel-core": "^6.17.0",
"babel-plugin-transform-react-jsx": "^6.8.0",
"babel-preset-es2015": "^6.16.0",
"babel-preset-react": "^6.16.0",
"babel-register": "^6.16.3",
"gulp": "^3.9.1",
"gulp-babel": "^6.1.2",
"gulp-filter": "^4.0.0",
"gulp-load-plugins": "^1.3.0",
"gulp-rename": "^1.2.2",
"gulp-uglify": "^2.0.0",
"gulp-webpack": "^1.5.0",
"react": "^15.4.0-rc.4",
"react-dom": "^15.4.0-rc.4",
"run-sequence": "^1.2.2",
"webpack": "^1.13.2"
}
ОБНОВЛЕНИЕ: поэтому я создал отдельную задачу только для Babel, и она работает. Когда я добавил uglify и переименовал, он работает, но когда я добавляю Webpack, возникают проблемы. Очевидно, что Webpack играет не очень хорошо. У кого-нибудь еще были такие проблемы при работе с Webpack и gulp?
gulp-load-plugins
и просто импортироватьgulp-rename
иgulp-webpack
напрямую; и делать что-то вродеgulp.task('default', ['copy:index']) ...samebuildtask... gulp.task('copy:index', ['build'], ...samerestofcopyindex...
- person henry   schedule 15.10.2016