GWT编译器是否减少了外部库中未使用的JavaScript代码?

GWT编译器是否减少了外部库中未使用的JavaScript代码?,javascript,html,gwt,Javascript,Html,Gwt,有了GWT,我可以使用JSNI包含外部库,比如JQuery 如果我将外部库与JSNI一起使用,GWT编译器会做什么 它包括完整大小的JavaScript库吗 它是否只包括已使用的库的代码 假设您将整个jQuery脚本复制到JSNI方法中(哎哟!),那么GWT将尽最大努力对其进行优化,包括修剪死代码。结果实际上取决于JS代码,但并非所有内容都可以静态分析以确定哪些代码将被使用或不被使用。如果您包括一个带有脚本注入器的JS库,会怎么样?然后您只需加载一个脚本,任何脚本,不必从您自己的服务器加载,并且

有了GWT,我可以使用JSNI包含外部库,比如JQuery

如果我将外部库与JSNI一起使用,GWT编译器会做什么

  • 它包括完整大小的JavaScript库吗

  • 它是否只包括已使用的库的代码


  • 假设您将整个jQuery脚本复制到JSNI方法中(哎哟!),那么GWT将尽最大努力对其进行优化,包括修剪死代码。结果实际上取决于JS代码,但并非所有内容都可以静态分析以确定哪些代码将被使用或不被使用。

    如果您包括一个带有脚本注入器的JS库,会怎么样?然后您只需加载一个脚本,任何脚本,不必从您自己的服务器加载,并且部署的方式可能会使您很难知道在编译时在哪里可以找到它。也就是说,GWT对此无能为力
    ScriptInjector
    与将
    放在HTML主机页中一样,只是动态地完成。除了用Java编写代码外,还有其他方法可以让GWT减少代码吗?@stephan1001,Java是GWT设计用来执行操作的语言?或者使用JavaScript->JavaScript编译器,比如闭包?顺便说一句,如果在GWT编译中启用了闭包(实验性功能,将增加构建时间,可能会破坏不是为它设计的代码),它将平等地优化所有JS,Java和JSNI都是如此,但总是会被调到最激进的模式。