我想在离子2项目中使用async / await。因为ES5的异步/等待没有使用于Typescript 2.0:有没有办法以这样的方式配置离子2应用程序,使得Typescript将其转换为ES6(即async / await语句不会被更改),然后由通知ES5,使其与不支持异步/等待的兄弟一起工作?
答案 0 :(得分:4)
RC UPDATE:
从Ionic RC开始,旧答案停止了工作。 有几种方法可以做到这一点。其中大多数涉及在节点模块中破解构建过程。 最简单的方法是将uglifyjs切换为支持es6的和声版本。
node_modules/@ionic/app-scripts/package.json
此文件包含离子构建使用的uglify js。
将uglify js版本切换为:
"uglify-js": "git://github.com/mishoo/UglifyJS2.git#harmony
之后运行npm install在这个文件夹上就可以了
离子Beta答案
幸运的是,离子gulp提供了这样的服务。 你需要的是babelify和ionic-gulp-browesify-typescript-babel 首先从typescript切换到typescript babel并在package.json中添加babelify
此
"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');
到
var buildBrowserify = require('ionic-gulp-browserify-typescript-babel');
现在你可以运行npm install了。当您尝试运行该项目时,您很可能会从babel那里得到错误,因为它缺少插件和预设。使用npm根据您的需要安装它们。它还会询问您应该安装的es2015预设。有关详细信息,请查看https://babeljs.io/docs/plugins/