Backbone 采用多页节点应用策略
Backbone with Multipage node app strategy
我对要构建的节点应用程序有疑问。
在开始开发之前,我写了一份清晰的文档,将我的应用程序分成不同的组件:
- 首页
- 搜索
- 用户个人资料
- 仪表板
等...
这些模块中的每一个又可能包含不同的子模块。
由于我的应用程序中的每个模块都非常独立地工作(尽管有通用的、可重用的组件),我决定使用 Express 从服务器呈现每个模块的主页。
我要呈现的每个页面在 DOM 交互和事件驱动视图更新领域都是高度交互的,所以我想为此使用 Backbone(使用推送状态用于为嵌套 url's 动态加载子模块),结合 requirejs 进行异步模块加载。
我想知道的是,是否可以为我使用 express 从服务器呈现的每个页面包含一个缩小文件。这似乎会导致相当大的开销,因为对于每个加载的模块,都需要再次包含所有库(backbone、下划线、jquery 等)。
这个问题是否有通用的解决方案,这(根据您的经验)是否会导致不可接受的性能问题?
我们最终对类似的多页面应用程序结构所做的是,我们打破构建以分离包含所有共享模块的 "common.js" 文件,以及页面特定代码的 "main-[module-name].js" 文件,以及每页加载 2 个单独的脚本标签
我不知道它对性能有实际的显着影响。我猜不是真的,除非你的项目中有一些大型库
看看 requirejs
的 multi page config example
我的 0.02 美元
我对要构建的节点应用程序有疑问。
在开始开发之前,我写了一份清晰的文档,将我的应用程序分成不同的组件:
- 首页
- 搜索
- 用户个人资料
- 仪表板 等...
这些模块中的每一个又可能包含不同的子模块。
由于我的应用程序中的每个模块都非常独立地工作(尽管有通用的、可重用的组件),我决定使用 Express 从服务器呈现每个模块的主页。
我要呈现的每个页面在 DOM 交互和事件驱动视图更新领域都是高度交互的,所以我想为此使用 Backbone(使用推送状态用于为嵌套 url's 动态加载子模块),结合 requirejs 进行异步模块加载。
我想知道的是,是否可以为我使用 express 从服务器呈现的每个页面包含一个缩小文件。这似乎会导致相当大的开销,因为对于每个加载的模块,都需要再次包含所有库(backbone、下划线、jquery 等)。
这个问题是否有通用的解决方案,这(根据您的经验)是否会导致不可接受的性能问题?
我们最终对类似的多页面应用程序结构所做的是,我们打破构建以分离包含所有共享模块的 "common.js" 文件,以及页面特定代码的 "main-[module-name].js" 文件,以及每页加载 2 个单独的脚本标签
我不知道它对性能有实际的显着影响。我猜不是真的,除非你的项目中有一些大型库
看看 requirejs
的 multi page config example我的 0.02 美元