2016-10-22 4 views
0

私はGruntfileでES6とES7を使いたいです。その理由は、私がgit-repository moduleを含む仕事を書こうと思っているからです。ドキュメンテーションからわかるように、このモジュールはES6とES7でしか利用できませんので、このモジュールをできるだけ簡単に統合したいと思います。私のGruntfileでもES6とES7を使うことができる方法がありますか?babel gruntのようなものはありますか?残念ながら、私はGoogleで何も見つかりませんでしたので、私はあなたが私を助けることを願っています。私のGruntfileでのES6とES7の使い方

ありがとうございます! :-)

+0

あなたのファイルをes6またはes7に書き込んでから、実行する前にes5に準拠させることです – abhirathore2006

+0

はい、私はこれを知っていますが、通常はES6にタスクを書き込む方法が必要ですか? – CapCa

+0

ノード環境にES6機能セット(ES6モジュールを除く)がすでにあります。あなたが参照している機能(async/await)は標準化されておらず、いわゆるES.nextに属しています。 – estus

答えて

2

通常、ビルドツールを使用してトランシルすることができます。これは「誰がビルドツールをビルドするか」の問題です。

ノードでサポートされていない機能セットを持つES.nextまたはES6でのみNPMのパブリックパッケージを使用できることは通常ありません。 git-repositoryは例外ではありません。それは確かにパッケージに蒸散コードがあり、バベルなしで使用することができます。

パッケージは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だろう何のtranspilerを必要としないノードES6機能セットのためのasync...awaitに優れた代替手段です。

関連する問題