Javascript 仅在Safari上使用(意外令牌)

Javascript 仅在Safari上使用(意外令牌),javascript,safari,reactjs,gulp,Javascript,Safari,Reactjs,Gulp,我只在Safari上得到了一个“SyntaxError:Unexpected token”)”——这段代码在其他浏览器上都可以使用 我正在使用gulp编译我的文件,如下所示: browserify(componentPath + "app.jsx") .transform(reactify) .transform(babelify) .bundle() .pipe(source('app.js')) .pipe(gulp.dest(buildPath));

我只在Safari上得到了一个“
SyntaxError:Unexpected token”)”
——这段代码在其他浏览器上都可以使用

我正在使用
gulp
编译我的文件,如下所示:

browserify(componentPath + "app.jsx")
    .transform(reactify)
    .transform(babelify)
    .bundle()
    .pipe(source('app.js'))
    .pipe(gulp.dest(buildPath));
语法错误突出显示了以下内容:

return React.createElement(If, {
     condition: !_.isEmpty(title)
 }, React.createElement("div", {
     className: "row wrapper border-bottom white-bg page-heading"
 }, React.createElement("div", {
     className: "col-lg-9"
 }, React.createElement("h2", null, title || 'Untitled'), React.createElement("ol", {
     className: "breadcrumb"
 }, React.createElement("li", null, React.createElement("a", {
     onClick: () => self.history.pushState(null, home)
 }, "Home")), links.map(function(link, index) {
     var url = link.url;

     return React.createElement("li", {
         onClick: () => self.history.pushState(null, url),
         key: url,
         className: "ptr-click"
     }, index == links.length - 1 ? React.createElement("strong", null, link.title || 'Untitled') : link.title);
 })))));
我注释掉了整个部分,只是为了看看它是否是这个特定的代码块,但是错误引用了另一个完全相同的
React.createElement

的代码块。考虑到注释,Safari目前不执行箭头函数。因此,我将我的
gulp
脚本更新为:

browserify(componentPath + "app.jsx")
    .transform(reactify)
    .transform(babelify, {presets: ["es2015", "react"]})
    .bundle()
    .pipe(source('app.js'))
    .pipe(gulp.dest(buildPath));
当然,不要忘记安装预设:

npm install babel-preset-es2015 babel-preset-react

这非常有效,现在我的代码也在Safari上运行:)

如果此代码没有进一步传输,可能是由于
()=>{}
的原因。我认为safari目前无法执行箭头功能。