使用reactify使用ES6导入语法转换jsx

时间:2015-04-17 19:00:01

标签: reactjs gulp browserify ecmascript-6

我正在使用reactify(一个browserify转换https://github.com/andreypopp/reactify)将JSX转换为常规JS。 我已经设置了一个gulp任务:

gulp.task('reactifyes6', function () {
    var bundler = watchify(browserify(watchify.args));
    return bundler.add('./Scripts/Widget/ReactComponents/Dashboard.jsx')
    .transform('reactify',{harmony:true, es6module:true})
    .bundle()
    .pipe(source('Dashboard.js'))
    .pipe(gulp.dest('./Scripts/Widget/Build/'));
});

为了实现这一目标,我有两个文件:Dashboard.jsxsomeJS.js Dashboad.jsx

import myFunc from './someJS.js';
myFunc();

someJS.js

export default function () { console.log('test'); };

当我运行gulp任务'reactifyes6'时,我得到ReactifyError "Illegal import declaration while parsing file: [path to my file]"

我做错了什么以及如何编译ES6导入/导出语法?

1 个答案:

答案 0 :(得分:14)

尝试使用babelify代替再生