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?
Potrebbe essere meglio usare babel per la trasformazione. https://babeljs.io –
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/ –