Javascript 我可以使用预先编译的模块,比如小部件库吗?
我将开发一个生成gwt应用程序的系统。这些应用程序共享很多小部件,编译时间对我来说非常重要。 我想知道我是否可以准备一组小部件,将它们封装在一个没有入口点的模块中,只编译一次,然后在其他模块继承的其他项目中重用编译后的代码Javascript 我可以使用预先编译的模块,比如小部件库吗?,javascript,gwt,compilation,pre-compilation,Javascript,Gwt,Compilation,Pre Compilation,我将开发一个生成gwt应用程序的系统。这些应用程序共享很多小部件,编译时间对我来说非常重要。 我想知道我是否可以准备一组小部件,将它们封装在一个没有入口点的模块中,只编译一次,然后在其他模块继承的其他项目中重用编译后的代码 ModuleA(仅共享小部件) Module1(app1的其余部分继承自ModuleA) Module2(app2的其余部分继承自ModuleA) 每次生成新应用程序时,我是否可以编译Module2而不重新编译ModuleA 我还使用了superDevMode和所有编译优
- ModuleA(仅共享小部件)
- Module1(app1的其余部分继承自ModuleA)
- Module2(app2的其余部分继承自ModuleA)
谢谢如果不使用jsni,您无法编译模块并从其他模块调用它们 即使使用jsni,除了
基本类型
和覆盖类型之外,您也无法在模块之间传递对象
我所看到的最好的解决方案是,您可以使用将小部件从ModuleA导出到javascript,我不久前写的这篇文章可以帮助您
但是在将ModuleA导出为javascript API之后,您必须在GWT中使用jsni包装这个API,以便从ModuleB和ModuleC调用它
恕我直言,当你排除你的ModuleA时,你在编译ModuleB时所能节省的时间是不值得的
当您导出ModuleA时,您必须编译所有内容,尽管ModuleB中没有使用它。如果您必须使用基本类型和覆盖类型与ModuleA交换信息,那么ModuleB中的代码将是一团混乱。还有许多其他问题 据我所知,你不能那样做。每次编译时都必须编译整个项目(包括共享小部件)。GWT让您这样做是因为,否则它将无法完成GWT擅长的所有优化。您认为GWT exporter是允许我的客户扩展我生成的GWT应用程序的好解决方案吗?当然!,它就是为此而设计的