ecmascript-harmony – ES6模块与HTML导入

HTML ImportsWeb Components规范的一部分,并提供了一种处理网络依赖关系的方法. ES6模块也做同样的事情,只是为了Javascript代码.

这两个人如何共同合作有什么清晰度吗?

编辑:一个例子:在我最近的一个项目中,我有两个Javascript组件(文件),其中一个取决于另一个,但任何HTML代码(这是另一个组件)可以使用它们中的任何一个.所以当我在HTML中包含依赖脚本时,我也不想包括父脚本(避免手工依赖关系处理).似乎没有明确的方法来做,除了混合ES6模块与脚本包括.我看到的唯一选项是为每个组件维护单独的文件,并指定必需的文件和依赖项,例如component.io.

解决方法

Web组件如何与ES6模块交互尚未完成,但至少有两个选项.

ES6具有realms的概念.如果您在两个iFrames中有JavaScript,则两个iFrames可以相互通信并传递数据.但他们在不同的领域.这意味着您可以修改Array.prototype对象而不影响其他对象.每个Web组件最有可能拥有自己的领域,因此它们不会相互干扰.

每个领域都有一堆全局对象,其中包含(很可能,规范尚未定稿)Loader对象.您可以创建一个新的Loader实例并使用它来加载模块.在这个领域已经存在一个,这是认的.每个Loader实例都有自己的定义模块列表,因此每个Web组件都可以被赋予它自己的Loader实例.

我不知道网络组件是否被赋予不同的域或不同的Loader对象,但是不同的Web组件很可能无法相互干扰.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据复制操作的两种方式。‌在聊深浅拷贝之前咱得了解一下js中的两种数据类型:
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:重建二叉树、反向输出链表每个节点 题目 重建二叉树: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列 {1,2,4,7,3,5,6,8} 和中序遍历序列 {
最近在看回JavaScript的面试题,this 指向问题是入坑前端必须了解的知识点,现在迎来了ES6+的时代,因为箭头函数的出现,所以感觉有必要对 this 问题梳理一下,所以刚好总结一下JavaScript中this指向的问题。
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)