为了在我们的应用程序的各个部分之间提供漂亮的 URL,我们将所有内容分成几个独立编译的模块。例如,有“经理”部分和“编辑”部分。编辑器在新窗口中启动。通过这样做,我们可以直接链接到编辑器:
/com.example.EditorApp?id=1
EditorApp 模块只是获取 id 的值并加载文档。
这样做的问题是两个模块之间通用的所有代码都在输出中重复。这包括任何静态内容(图形)、样式表等。
另一个问题是生成 JavaScript 的编译时间几乎翻了一番,因为我们在两个模块之间共享了一些复杂的代码,必须处理两次。
有没有人处理过这个?我正在考虑废弃单独的模块并将其全部合并回一个编译目标。唯一的缺点是我们的“应用程序”之间的 URL 变成了这样:
/com.example.MainApp?mode=editor&id=1
每个窗口都加载主模块,检查模式参数的值,并调用适当的模块初始化代码。