在 GWT-land 中,“链接器”和 DFN 代码拆分之间有什么关系?为什么链接器需要支持分码,为什么有些链接器不支持?你如何选择你的应用程序应该使用哪个链接器,以及哪些因素会影响这个决定?
问问题
2700 次
1 回答
12
主链接器(也有辅助链接器,但这里不涉及)负责创建托管已编译 JS 代码的 *.js 或 *.html 文件,当然还有如何将它们引导/加载到浏览器中.
一旦您知道这一点,很明显它们必须明确支持代码拆分。
例如,xs
(跨站点)链接器将整个脚本包装在一个匿名函数中,因此它不会“污染全局范围”(技术也称为模块模式)。然后它不能动态地将一些其他脚本注入到可以访问其内部的页面中。(sso
单脚本)链接器具有相同的限制。
( std
iframe) 链接器将您的应用加载到动态创建的 iframe 中,该 iframe 充当沙箱:iframe 的全局范围不是主机页面的全局范围。然后,它可以在 iframe 中动态注入一个脚本,该脚本可以访问已经存在的所有内容(iframe 的全局范围)。
但实际上,您不必选择您的应用程序应该使用哪个链接器:坚持使用xsiframe
(但您必须明确激活它,暂时是这样)。它结合了链接器的跨站点友好性和xs
链接器的 iframe 沙盒std
。
您可以期望sso
在未来的 GWT 版本中不推荐使用所有其他链接器(可能除外),并最终完全删除;并将std
链接器替换xsiframe
为默认链接器的链接器。
于 2012-09-07T11:42:46.743 回答