Ionic 2 + Typescript + Babel(用于在 ES5 中使用异步/等待)
Ionic 2 + Typescript + Babel (for using async / await with ES5)
我想在 ionic 2 项目中使用 async/await。由于 ES5 的 async/await 不适用于 Typescript 2.0:有没有一种方法可以配置 ionic 2 应用程序,使 Typescript 将其转换为 ES6(即不更改 async / await 语句)然后Babel转ES5,让不支持async/await?
的兄弟使用
RC 更新:
从 Ionic RC 开始,旧答案不再有效。
有几种方法可以做到这一点。其中大部分涉及破解节点模块中的构建过程。
最简单的就是把uglifyjs换成支持es6的harmony版本。
node_modules/@ionic/app-scripts/package.json
此文件包含 ionic build 使用的 uglify js。
将 uglify js 版本切换为:
"uglify-js": "git://github.com/mishoo/UglifyJS2.git#harmony
在那之后 运行 npm install 到这个文件夹就这样了
Ionic Beta 答案
幸运的是,ionic 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 安装。当你尝试 运行 项目时,你很可能会从 babel 得到错误,它缺少插件和预设。根据您的需要使用 npm 安装它们。它还会询问您应该安装的 es2015 预设。有关更多信息,您可以查看 https://babeljs.io/docs/plugins/
我想在 ionic 2 项目中使用 async/await。由于 ES5 的 async/await 不适用于 Typescript 2.0:有没有一种方法可以配置 ionic 2 应用程序,使 Typescript 将其转换为 ES6(即不更改 async / await 语句)然后Babel转ES5,让不支持async/await?
的兄弟使用RC 更新:
从 Ionic RC 开始,旧答案不再有效。 有几种方法可以做到这一点。其中大部分涉及破解节点模块中的构建过程。 最简单的就是把uglifyjs换成支持es6的harmony版本。
node_modules/@ionic/app-scripts/package.json
此文件包含 ionic build 使用的 uglify js。
将 uglify js 版本切换为:
"uglify-js": "git://github.com/mishoo/UglifyJS2.git#harmony
在那之后 运行 npm install 到这个文件夹就这样了
Ionic Beta 答案
幸运的是,ionic 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 安装。当你尝试 运行 项目时,你很可能会从 babel 得到错误,它缺少插件和预设。根据您的需要使用 npm 安装它们。它还会询问您应该安装的 es2015 预设。有关更多信息,您可以查看 https://babeljs.io/docs/plugins/