我的小项目包含单个.html文件和一个.js文件。我使用asyn / await函数的问题所以我需要将它转换为es5以确保一切正常。
所以,我的.html文件看起来像这样:
class MyClass{
constructor(){
this.calculate = async function () {
await func1();
}
}
async function func1() {
for (var i = 0; i < 3; i++) {
await func2(); // await in loop until func2() completed
}
}
async function func2() {
for (var i = 0; i < 10; i++) {
await func3(); //wait until func3 and then continue looping
}
}
function func3() {
return new Promise(resolve => setTimeout(resolve, 1000));
}
}
这是我的src.js
writen(socket, data_size, 2, retry_on_interrupt);
现在主要问题 - 如何将其转换为es5 ,因此它可以在Internet Explorer中100%运行。我读了很多关于&#34; babel&#34;但我发现的一切都是不可理解或过时的。 那么有人可以写一个简短的分步指南如何安装和编译这个小项目吗?
答案 0 :(得分:2)
假设您想快速运行脚本以使用babel转换es5代码,请按照以下说明操作:
你要做的第一件事就是设置一个小节点项目。 如果您从未设置过节点项目goto: https://nodejs.org/en/download/
只要全局拥有npm,您就可以转到项目文件夹并输入:
npm init
这将创建一个package.json文件。
转到:https://babeljs.io/docs/setup/#installation
然后单击CLI
并按照上述所有步骤操作。
确保为babel安装正确的预设以转换异步等待。您需要es2015和stage3预设以及运行时插件。
http://babeljs.io/docs/plugins/preset-es2015/#install
http://babeljs.io/docs/plugins/preset-stage-3/#install
https://babeljs.io/docs/plugins/transform-runtime/#installation