J-b*_*bob 12 html javascript react-jsx babeljs
我正在寻找typehtml <script>标签内属性的清晰解释.对于我作为网络开发人员的大部分职业生涯,我在互联网上的指示是:
<script type='text/javascript'>然后将javascript放入其中.<script>因为它text/javascript是默认值.而且最长的时间我很天真,只是做了我被告知的事情.现在我正在学习ReactJS,并且有一套新的指令:
babel脚本包含在文件的顶部<script type="text/babel">我想了解添加type='text/babel'到script标签背后的魔力.我知道javascript是实际在浏览器中运行的唯一语言,因此该额外属性,babel脚本和您在其中编写的代码之间的关系是什么.这个标签是否以某种方式找到了babel脚本并对其做了些什么?这是一个基本的浏览器/ js功能,允许在javascript执行之前预处理脚本标签中的文本吗?我还应该知道什么?
神秘化是这个问题的目标.
我想了解将script ='text/babel'添加到脚本标记背后的魔力.
没有真正的魔力:你包括页面上的巴贝尔脚本将查找那些元素,并将它们transpiles插入即时ES5,然后一直浏览器中运行所产生的ES5代码.type在脚本元素上设置它会做两件事:
阻止浏览器尝试直接运行它们
为Babel脚本标识它们.
关于type上script 一般,从规范:
该
type属性提供脚本的语言或数据的格式.如果该属性存在,则其值必须是有效的MIME类型.不得指定charset参数.如果属性不存在,则使用默认值"text/javascript".
然后在解释如何处理script元素时:
如果用户代理不支持此
script元素的脚本块类型给出的脚本语言,则用户代理必须在此时中止这些步骤.该脚本未执行.
在浏览器中进行编译具有相当有限的用例,因此如果您在生产站点上工作,则应该在服务器端预编译脚本.有关更多信息,请参阅setup build systems.
(他们说"编译"的地方我们大多数人会说"转型".)
| 归档时间: |
|
| 查看次数: |
1664 次 |
| 最近记录: |