Używam funkcji rektyfikacji (przekształcenie przekształcenia przekształcającego https://github.com/andreypopp/reactify) w celu przekonwertowania JSX do zwykłego JS. mam skonfigurować zadanie haustem:Konwersja jsx przy użyciu składni importu ES6 przy użyciu funkcji rektyfikacji
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/'));
});
dla zachowania się tej pracy mam dwa pliki: Dashboard.jsx
i someJS.js
.
Dashboad.jsx
import myFunc from './someJS.js';
myFunc();
someJS.js
export default function() { console.log('test'); };
Kiedy uruchomić zadanie haustem 'reactifyes6'
, otrzymuję ReactifyError "Illegal import declaration while parsing file: [path to my file]"
Co robię źle i jak można Czy kompiluję składnię importu/eksportu ES6?
Możesz lepiej wyłączyć Babel z transformacji. https://babeljs.io –
Dokładnie, w tym przypadku powinieneś użyć babel do przekształcenia swojego kodu, tutaj jest przykład: http://4dev.tech/2015/12/how-to-use-es6-very-simple -przykład/ –