这是我的gulpfile代码:
gulp.task('react', function () { browserify('app/src/main.jsx') .transform(reactify) .transform(babelify) .bundle() .pipe(source('app.js')) .pipe(streamify(uglify())) .pipe(gulp.dest('dist/js/')); });
只运行第一个转换语句,因此由于缺少额外的转换而抛出错误(我在ES6和JSX中编写w/react).
我完全失去了,真的很感激帮助.
不应再使用Reactify.你没有说出你的版本,但截至Babel 6 "预置版"是实现编译的标准方法.
运行以下
npm install save-dev babel-preset-react babel-preset-es2015
您还应该确保Babelify是最新的.那么你的Gulp配置就变成了
var babelify = require("babelify"); gulp.task('react', function () { browserify('app/src/main.jsx') .transform(babelify, {presets: ["es2015", "react"]}) .bundle() .pipe(source('app.js')) .pipe(streamify(uglify())) .pipe(gulp.dest('dist/js/')); });
有关更多信息,请参阅选项页面.