Reactjs 使用reactify使用ES6导入语法转换jsx
我正在使用reactify(一种browserify转换)将JSX转换为常规JS。 我已经设置了一个吞咽任务:Reactjs 使用reactify使用ES6导入语法转换jsx,reactjs,gulp,browserify,ecmascript-6,Reactjs,Gulp,Browserify,Ecmascript 6,我正在使用reactify(一种browserify转换)将JSX转换为常规JS。 我已经设置了一个吞咽任务: gulp.task('reactifyes6', function () { var bundler = watchify(browserify(watchify.args)); return bundler.add('./Scripts/Widget/ReactComponents/Dashboard.jsx') .transform('reactify',{
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.jsx
和someJS.js
Dashboad.jsx
import myFunc from './someJS.js';
myFunc();
someJS.js
export default function () { console.log('test'); };
当我运行gulp任务'reactifyes6'
时,我得到一个ReactifyError“解析文件时非法导入声明:[我的文件路径]”
我做错了什么?如何编译ES6导入/导出语法?尝试使用babelify代替reactify您最好使用babel进行转换。确切地说,在这种情况下,您应该使用babel来转换代码,下面是一个示例: