Я хотел бы использовать async/await в проекте ionic 2. Поскольку async/await для ES5 не подходит для Typescript 2.0: есть ли способ настроить приложение ionic 2 таким образом, чтобы Typescript транспилировал его в ES6 (т. е. операторы async/await не изменялись), который затем преобразуется Babel на ES5, чтобы он работал с братьями, которые не поддерживают async/await?
Ionic 2 + Typescript + Babel (для использования async/await с ES5)
Ответы (1)
ОБНОВЛЕНИЕ RC:
Что касается Ionic RC, старый ответ перестал работать. Есть несколько способов сделать это. Большинство из них связаны с взломом процесса сборки в модуле node. Самый простой — переключить uglifyjs на версию гармонии, которая поддерживает es6.
node_modules/@ionic/app-scripts/package.json
Этот файл содержит uglify js, который использует сборка ionic.
Переключите версию uglify js на:
"uglify-js": "git://github.com/mishoo/UglifyJS2.git#harmony
После этого запустите npm install в этой папке и все
Ionic бета-ответ
К счастью для вас, ionic gulp предлагает такие услуги. Что вам нужно, так это babelify и ionic-gulp-browesify-typescript-babel Прежде всего переключитесь с typescript на typescript babel и добавьте babelify в ваш package.json
это
"ionic-gulp-browserify-typescript": "2.0.0",
к этому
"babelify": "7.3.0",
"ionic-gulp-browserify-typescript-babel": "^2.0.2",
Теперь перейдите к вашему gulpfile.json
Здесь переключите свой модуль с
var buildBrowserify = require('ionic-gulp-browserify-typescript');
to
var buildBrowserify = require('ionic-gulp-browserify-typescript-babel');
Теперь вы можете запустить npm install. Когда вы попытаетесь запустить проект, вы, скорее всего, получите сообщение об ошибке от Babel о том, что ему не хватает плагинов и пресетов. Используйте npm для их установки в соответствии с вашими потребностями. Он также запросит у вас пресеты es2015, которые вы должны установить. Дополнительную информацию об этом можно найти на странице https://babeljs.io/docs/plugins/