2015-09-25 10 views
6

Niedawno użyłem nowej specyfikacji struktury zestawów danych zamiast tablicy, w której nie chciałem zapisywać żadnych powtarzalnych wartości i działa bez problemów, ale zastanawiam się, czy chcę zaimplementować niektóre z nowych funkcji, takich jak let, class i const.Jak korzystać z funkcji EcmaScript 6 w Ionic?

Używam również wtyczki crosswalk na wypadek, gdy jest to istotne.

Czy ktoś może mi powiedzieć, czy powinienem na chwilę uchylić się od ES6 lub czy można go używać?

Odpowiedz

9

I rzeczywiście google o to sobie dzisiaj wcześniej i znalazłem ten samouczek: http://labs.encoded.io/2015/06/22/use-es6-with-ionic/

StackOverflow zachęca do nie wystarczy użyć linki jak odpowiedzi, więc jestem po prostu zamiar dać moje TL; DR, ponieważ jest to nie moja własna strona i nie chcę być pociągnięty do odpowiedzialności za c/p.

Ionic używa Gulp, więc zainstaluj gulp-babel i łyk-hydraulik.

npm install --save-dev gulp-babel gulp-plumber 

dodawania babel do gulpfile.js tak:

//... 
var babel = require("gulp-babel"); 
var plumber = require("gulp-plumber"); 

var paths = { 
    es6: ['./src/es6/*.js'], 
    sass: ['./scss/**/*.scss'] 
}; 

gulp.task('default', ['babel', 'sass']); 

gulp.task("babel", function() { 
    return gulp.src(paths.es6) 
    .pipe(plumber()) 
    .pipe(babel()) 
    .pipe(gulp.dest("www/js")); 
}); 

//... 

gulp.task('watch', function() { 
    gulp.watch(paths.es6, ['babel']); 
    gulp.watch(paths.sass, ['sass']); 
}); 
//... 

Edit ionic.project:

"gulpStartupTasks": [ 
    "babel", 
    "sass", 
    "watch" 
], 

o więcej szczegółów skonsultować oryginalny link - i to również powiedzieć, dzięki autora tego posta na blogu, ponieważ pomógł mi również.

+0

dzięki Nikola to działa! –

+0

@ user5148540: Świetnie! Cieszę się, że pomogłem! – Nikola

+2

@Nikola Dzięki, byłoby świetnie, gdybyś mógł zaktualizować swoją odpowiedź, aby dopasować link do bloga, który został zaktualizowany, tak aby zawierał preset es2015. Bez presetu plik został skopiowany z '/ src/js' na'/www/js', ale nie został przeniesiony, po prostu pozostał jako ES6 –

Powiązane problemy