未加星标

在 Web 平台上添加 JavaScript 模块

字体大小 | |
[前端(javascript) 所属分类 前端(javascript) | 发布者 店小二03 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏

长期以来,我们一直致力于实现 WHATWG标准的工作. 我们想要告诉我们的博客读者更多开发出来的新特性。一大堆令人兴奋的事( quite a backlog )正在发生,从现在开始, 我被提名 告诉你们关于 <script type="module">的故事.

javascript modules 历史悠久,最早是在2015年早些时候确定下来方案(作为 JavaScript 说明中 ES2015修改的一部分 ,但是随着离最后交付日期越来越近,很显然,尽管语法没有问题,但是在语义上模块如何互相加载任然没有定论。不管怎么说,这个问题很难,因为它涉及到 JavaScript和具体环境的整合是否具备可 扩展性。 ―除了web浏览器, 还包括Node.js之类的其他环境.

折中的解决方式是在JavaScript规定中指定模块的语法,但是没有任何办法可以真正地运行。使用 HostResolveImportedModule 模块,主机环境通过执行该这些模块并获取对应的依赖关系,就可以把模块说明符(在import x from "x"中的"x")解析成模块的实例。一年过去了,JavaScript模块还没有真正被各家web浏览器所实现,因为虽然指定模块的语法已经实现,但是词义上还没有实现。

在对 whatwg/html#433 发起的提交请求中,我们做了指定这些丢失的词义的工作。这些工作涉及许多脚本语言执行路径的重大改变,目的是为了更好滴整合现代JavaScript规范。WHATWG社区需要讨论一些微妙的问题,像怎么取得多个源头的模块脚本,或者是否应用或者怎样应用异步,延迟,以及编码集等属性。最后的结果可以再HTML标准的许多地方体现出来,值得一提的是script元素的定义和脚本化处理模块部分。在对这个小组的请求中,我们也增加了对工作者模块的支持,你可以在创建工作者这一部分中看到。(这一特性同时也在服务工作者规范中做了修改!)最后,我们提供了一些示例: a couple for<script type="module"> 和 one for module workers 。

当然,指定一些新特性还没有结束,它需要被实现!现在全部四家渲染引擎(已开源的)正在实现这些特性,你可以参考下面这些错误报告:

Blink: issue 594639

Gecko: bug 1240072

WebKit: bug 148897

同时在指定规范方面仍有更多的工作要做!目前正在进行关于怎样增加更多高级的动态木块加载API,从简单的promise返回模块self.importModule,到 whatwg/loader 资源仓库中可以体验的设计原型。

我们希望你找到JavaScript模块对HTML标准的其他实现,并像我们一样为此感到无比兴奋。我们很快还会回来告诉你们更多对WHATWG标准世界的其他最新的重大改变!

本文前端(javascript)相关术语:javascript是什么意思 javascript下载 javascript权威指南 javascript基础教程 javascript 正则表达式 javascript设计模式 javascript高级程序设计 精通javascript javascript教程

分页:12
转载请注明
本文标题:在 Web 平台上添加 JavaScript 模块
本站链接:http://www.codesec.net/view/483840.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 前端(javascript) | 评论(0) | 阅读(54)