为什么使用脚本类型的babel而不是ecmascript或javascript

时间:2016-08-12 16:11:12

标签: javascript reactjs babeljs

<script type="media_type"></script>

据我所知,有效的脚本类型可能是javascript或ecmascript或其他一些有效值。但在反应中他们使用text / babel

我们知道babel只不过是一个转录器。哪个任务是将代码转换为普通的javascript

<script type="text/babel">

</script>

为什么以及如何浏览器响应此属性值(如果它是转换器?)

2 个答案:

答案 0 :(得分:1)

React没有说这个脚本是用JavaScript编写的,因为它不是用JavaScript编写的。

如果浏览器无法识别脚本类型,那么除了将其作为文本节点插入页面之外,它不执行任何操作。

该页面可能有一些JavaScript,它将从DOM中提取该文本并对其执行某些操作(并且JS将使用该类型来标识要从中读取文本的脚本元素)。

答案 1 :(得分:1)

如果您使用类似babel-standalone之类的东西在浏览器中动态传输JS代码,那么您就不会在浏览器尝试运行脚本之前不会编译脚本,因此不应使用type="text/javascript"

另一方面,独立的转换器应该没有要转换的代码块,它使用type="text/babel"来执行此操作。