2015-04-17 8 views
7

Sto usando reactify (una trasformazione di browserify https://github.com/andreypopp/reactify) per convertire JSX in JS regolare. Ho installato un compito sorso:Conversione di jsx con la sintassi di importazione ES6 usando reacifica

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/')); 
}); 

Per il bene di ottenere questo lavoro ho due file: Dashboard.jsx e someJS.js.
Dashboad.jsx

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

someJS.js

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

Quando eseguo il compito sorso 'reactifyes6', ho ottenere un ReactifyError "Illegal import declaration while parsing file: [path to my file]"

Che cosa sto facendo di sbagliato e come potrebbe Compilare la sintassi di importazione/esportazione ES6?

+3

Potrebbe essere meglio usare babel per la trasformazione. https://babeljs.io –

+0

Esattamente, in questo caso dovresti usare babel per trasformare il tuo codice, ecco un esempio: http://4dev.tech/2015/12/how-to-use-es6-very-simple -esempio/ –

risposta

14

Prova babelify al posto di reactify