javascript - 执行gulp提示JSX错误
阿神
阿神 2017-04-10 17:24:05
[JavaScript讨论组]

执行gulp, 提示错误:

[15:56:31] Using gulpfile ~/snapterest/gulpfile.js
[15:56:31] Starting 'default'...
events.js:154
      throw er; // Unhandled 'error' event
      ^

SyntaxError: /Users/yonghuming/snapterest/source/app.js: Unexpected token (4:16)
  2 | var ReactDOM = require('react-dom');
  3 | var Application = require('./components/Application.react');
> 4 | ReactDOM.render(<Application />, document.getElementById('react-application'));
    |                 ^
  5 |
  6 |
  7 |
    at Parser.pp.raise (/Users/yonghuming/snapterest/node_modules/babelify/node_modules/babel-core/node_modules/babylon/index.js:1375:13)
    at Parser.pp.unexpected (/Users/yonghuming/snapterest/node_modules/babelify/node_modules/babel-core/node_modules/babylon/index.js:2813:8)
    at Parser.pp.parseExprAtom (/Users/yonghuming/snapterest/node_modules/babelify/node_modules/babel-core/node_modules/babylon/index.js:747:12)
    at Parser.pp.parseExprSubscripts (/Users/yonghuming/snapterest/node_modules/babelify/node_modules/babel-core/node_modules/babylon/index.js:502:19)
    at Parser.pp.parseMaybeUnary (/Users/yonghuming/snapterest/node_modules/babelify/node_modules/babel-core/node_modules/babylon/index.js:482:19)
    at Parser.pp.parseExprOps (/Users/yonghuming/snapterest/node_modules/babelify/node_modules/babel-core/node_modules/babylon/index.js:413:19)
    at Parser.pp.parseMaybeConditional (/Users/yonghuming/snapterest/node_modules/babelify/node_modules/babel-core/node_modules/babylon/index.js:395:19)
    at Parser.pp.parseMaybeAssign (/Users/yonghuming/snapterest/node_modules/babelify/node_modules/babel-core/node_modules/babylon/index.js:358:19)
    at Parser.pp.parseExprListItem (/Users/yonghuming/snapterest/node_modules/babelify/node_modules/babel-core/node_modules/babylon/index.js:1204:16)
    at Parser.pp.parseCallExpressionArguments (/Users/yonghuming/snapterest/node_modules/babelify/node_modules/babel-core/node_modules/babylon/index.js:578:20)

gulpfile.js文件内容

var gulp = require('gulp');
var browserify = require('browserify');
var babelify = require('babelify');
var source = require('vinyl-source-stream');

gulp.task('default', function(){
    // console.log('I am about to learn the essentials of React.js');
    return browserify('./source/app.js')
           .transform(babelify)
           .bundle()
           .pipe(source('snapterest.js'))
           .pipe(gulp.dest('./build/'));
});
阿神
阿神

闭关修行中......

全部回复(1)
迷茫

如果是 Babel 6 的话, 需要配置 preset

$ npm install --save-dev babel-preset-es2015 babel-preset-react
browserify('./source/app.js')
  .transform('babelify', {presets: ['es2015', 'react']})
  .bundle()
  .pipe(source('snapterest.js'))
  .pipe(gulp.dest('./build/'));

或者配置.babelrc

{
  "presets": ["es2015", "react"]
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号