如何在我的 Gruntfile 中使用 ES6 和 ES7
How to use ES6 and ES7 in my Gruntfile
我想在我的 Gruntfile 中使用 ES6 和 ES7。原因是我想写一个任务,其中包含git-repository module。从文档中可以看出,该模块仅在 ES6 和 ES7 中可用,我希望尽可能轻松地集成该模块。有没有一种方法可以让我在我的 Gruntfile 中也使用 ES6 和 ES7 - 像 babel grunt
这样的东西?不幸的是,我在 Google 上没有找到任何东西,因此我希望你能帮助我。
提前致谢! :-)
通常您可能想使用构建工具进行转译,所以这是一个 'who will build a build tool' 问题。
NPM 上的 public 包仅在 ES.next 或 ES6 中可用且具有 Node 不支持的功能集是不常见的。 git-repository
也不例外。包里肯定有转译代码,不用Babel也能用。
因为包是用 babel-plugin-transform-runtime
转译的,它需要 babel-polyfill
才能工作。
文档使用 async...await
仅作为示例,因为它适合工作流程。 async
函数使用承诺,在 ES5/ES6 中它将是
require('babel-polyfill');
Repo.open('./example', { init: true })
.then(repo =>
repo.setRemote('origin', 'https://github.com/user/example.git')
.then(() => repo.add('--all .'))
.then(() => repo.commit('Commit message'))
...
);
co
是 async...await
的绝佳替代品,适用于不需要转译器的 Node ES6 功能集。
我想在我的 Gruntfile 中使用 ES6 和 ES7。原因是我想写一个任务,其中包含git-repository module。从文档中可以看出,该模块仅在 ES6 和 ES7 中可用,我希望尽可能轻松地集成该模块。有没有一种方法可以让我在我的 Gruntfile 中也使用 ES6 和 ES7 - 像 babel grunt
这样的东西?不幸的是,我在 Google 上没有找到任何东西,因此我希望你能帮助我。
提前致谢! :-)
通常您可能想使用构建工具进行转译,所以这是一个 'who will build a build tool' 问题。
NPM 上的 public 包仅在 ES.next 或 ES6 中可用且具有 Node 不支持的功能集是不常见的。 git-repository
也不例外。包里肯定有转译代码,不用Babel也能用。
因为包是用 babel-plugin-transform-runtime
转译的,它需要 babel-polyfill
才能工作。
文档使用 async...await
仅作为示例,因为它适合工作流程。 async
函数使用承诺,在 ES5/ES6 中它将是
require('babel-polyfill');
Repo.open('./example', { init: true })
.then(repo =>
repo.setRemote('origin', 'https://github.com/user/example.git')
.then(() => repo.add('--all .'))
.then(() => repo.commit('Commit message'))
...
);
co
是 async...await
的绝佳替代品,适用于不需要转译器的 Node ES6 功能集。