2017-06-07 66 views
2

我有一個es2017代碼與異步/ await,我想將其轉換爲es5,以便它將由大多數Node.js版本支持。如何轉換ES2017到ES5

我現在.babelrc文件看起來像這樣:

{ 
    "presets": ["es2015", "es2016", "es2017"] 
} 

所以我轉變es2017到es2016,從es2016到ES2015和ES2015從ES5到。

當我想我babel src -d dist -s我收到提示建造它說,以後運行代碼:ReferenceError: regeneratorRuntime is not defined

我怎樣才能變換es2017代碼ES5?我想稍後發佈代碼並使其可用於node.js v4及更高版本。

+1

你做的轉換就好了,你只需要添加到babel polyfill – Bergi

+0

@Bergi如果我使用babel-cli來構建babel-polyfill,我該如何使用babel-polyfill?我無法在任何地方找到該信息 – xerq

+1

相關:[使用Babel.js傳輸異步等待提議?](https://stackoverflow.com/questions/28708975/transpile-async-await-proposal-with-babel-js/28709165 )。 –

回答

5

感謝@Bergi我找到了一種方法如何解決這個ReferenceError: regeneratorRuntime is not defined錯誤。

我加入了transform-runtime插件我.babelrc現在

我.babelrc是:

{ 
    "presets": ["es2015", "es2016", "es2017"], 
    "plugins": ["transform-runtime"] 
} 

不會有任何錯誤,現在能正常工作。