gulp编译打包react(es6写的component)报错

var gulp = require('gulp'), //本地安装gulp所用到的地方
babel = require("gulp-babel"),
es2015 = require("babel-preset-es2015"),
webpack = require("gulp-webpack"),
react = require("gulp-react");//新加入的模块

gulp.task('Jsx', function () {
return gulp.src('src/app.js')
    .pipe(react())
    .pipe(babel({presets:[es2015]}))
    .pipe(webpack({//包装代码
        output:{
            filename:"all.js"
        },
        stats:{
            colors:true
        }
    }))
    .pipe(gulp.dest('dist'));
});

异常:

events.js:160
      throw er; // Unhandled 'error' event
      ^
Error: Parse Error: Line 1: Illegal import declaration
    at throwError (e:\工作\workpace\web\React\shellac\node_modules\jstransform\node_modules\esprima-fb\esprima.js:2813:21)
    at throwErrorTolerant (e:\工作\workpace\web\React\shellac\node_modules\jstransform\node_modules\esprima-fb\esprima.js:2825:24)
    at parseSourceElement (e:\工作\workpace\web\React\shellac\node_modules\jstransform\node_modules\esprima-fb\esprima.js:6390:17)
    at parseProgramElement (e:\工作\workpace\web\React\shellac\node_modules\jstransform\node_modules\esprima-fb\esprima.js:6446:16)
    at parseProgramElements (e:\工作\workpace\web\React\shellac\node_modules\jstransform\node_modules\esprima-fb\esprima.js:6478:29)
    at parseProgram (e:\工作\workpace\web\React\shellac\node_modules\jstransform\node_modules\esprima-fb\esprima.js:6491:16)
    at Object.parse (e:\工作\workpace\web\React\shellac\node_modules\jstransform\node_modules\esprima-fb\esprima.js:7653:23)
    at getAstForSource (e:\工作\workpace\web\React\shellac\node_modules\jstransform\src\jstransform.js:251:21)
    at transform (e:\工作\workpace\web\React\shellac\node_modules\jstransform\src\jstransform.js:274:11)
    at innerTransform (e:\工作\workpace\web\React\shellac\node_modules\react-tools\main.js:94:10)
阅读 3.8k
2 个回答

是不是应该加个jsx解析器。

我可能答非所问,仅仅建议,如果用react,请用webpack。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题