📅  最后修改于: 2020-10-27 03:16:41             🧑  作者: Mango
BabelJS是JavaScript编译器,可将添加到JavaScript的新功能转换为ES5或根据给定的预设或插件做出反应。 ES5是最古老的JavaScript形式之一,并支持在新旧浏览器上运行而没有任何问题。在本教程的大多数示例中,我们已将代码转换为ES5。
我们已经看到ES6,ES7和ES8中增加了许多功能,例如箭头功能,类,承诺,生成器,异步功能等。在旧的浏览器中使用任何新添加的功能时,都会引发错误。 BabelJS帮助编译代码,该代码向后兼容较旧的浏览器。我们已经看到,ES5在较旧的浏览器上可以正常工作而没有任何问题。因此,考虑到项目环境的详细信息,如果需要在旧的浏览器上运行它,我们可以在项目中使用任何新功能,并使用babeljs将代码编译到ES5,然后在任何浏览器中都可以使用而不会出现任何问题。
让我们考虑下面的例子来理解这一点。
BabelJs Testing
var _foo = () => {
return "Hello World"
};
alert(_foo());
当我们在Chrome浏览器中运行上述html时,我们得到以下输出-
在Firefox中运行HTML时,它会生成以下输出-
并且在Internet Explorer中运行相同的HTML时,它会产生以下语法错误-
我们使用了ES6箭头函数;如上所述,并非所有浏览器都适用。为了使此工作正常进行,我们使用BabelJS将代码编译为ES5并在所有浏览器中使用。
将使用babeljs将js文件编译为es5,然后在浏览器中再次检查。
在html文件中,我们将使用index_new.js,如下所示-
BabelJs Testing
"use strict";
var _foo = function _foo() {
return "Hello World";
};
alert(_foo());