<script type="text/babel">
<script type="text/jsx">
是一样的么?
browser.min.js
和jsxTransformer.js又是什么意思呢?
再看react对这块很费解,怎么写的都有
<script type="text/babel">
<script type="text/jsx">
是一样的么?
browser.min.js
和jsxTransformer.js又是什么意思呢?
再看react对这块很费解,怎么写的都有
额,这问题有点多啊
type规定的是MIME类型,现代浏览器默认的是text/javascript所以不用像以前那样手动添加
jsxTransformer.js专门用来解析js/jsx文件中的jsx语法,而babel不光能干这些还能编译ES6语法等等
只要将代码放在script标签对中就能正确解析
6 回答2.4k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答2.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
2 回答1.9k 阅读✓ 已解决
JSX是什么
JSX其实是JavaScript的扩展,React为了代码的可读性更方便地创建虚拟DOM等原因,加入了一些类似XML的语法的扩展。
编译器——jsxTransformer
JSX代码并不能直接运行,需要将它编译成正常的JavaScript表达式才能运行,jsxTransformer.js就是这一编译器的角色。
第二代编译器——babel
React官方博客发布了一篇文章,声明其自身用于JSX语法解析的编译器JSTransform已经过期,不再维护,React JS和React Native已经全部采用第三方Babel的JSX编译器实现。原因是两者在功能上已经完全重复,而Babel作为专门的JavaScript语法编译工具,提供了更为强大的功能。而browser.js是babel编译器的浏览器版本。