4

在 GWT-land 中,“链接器”和 DFN 代码拆分之间有什么关系?为什么链接器需要支持分码,为什么有些链接器不支持?你如何选择你的应用程序应该使用哪个链接器,以及哪些因素会影响这个决定?

4

1 回答 1

12

主链接器(也有辅助链接器,但这里不涉及)负责创建托管已编译 JS 代码的 *.js 或 *.html 文件,当然还有如何将它们引导/加载到浏览器中.

一旦您知道这一点,很明显它们必须明确支持代码拆分。

例如,xs(跨站点)链接器将整个脚本包装在一个匿名函数中,因此它不会“污染全局范围”(技术也称为模块模式)。然后它不能动态地将一些其他脚本注入到可以访问其内部的页面中。(sso单脚本)链接器具有相同的限制。

( stdiframe) 链接器将您的应用加载到动态创建的 iframe 中,该 iframe 充当沙箱:iframe 的全局范围不是主机页面的全局范围。然后,它可以在 iframe 中动态注入一个脚本,该脚本可以访问已经存在的所有内容(iframe 的全局范围)。

但实际上,您不必选择您的应用程序应该使用哪个链接器:坚持使用xsiframe(但您必须明确激活它,暂时是这样)。它结合了链接器的跨站点友好性和xs链接器的 iframe 沙盒std

您可以期望sso在未来的 GWT 版本中不推荐使用所有其他链接器(可能除外),并最终完全删除;并将std链接器替换xsiframe为默认链接器的链接器。

于 2012-09-07T11:42:46.743 回答