使用模块构建SPA

时间:2014-11-19 01:29:51

标签: asp.net-mvc knockout.js architecture single-page-application

我正在开展一个项目,我们要创建一个必须由许多模块组成的SPA。

这个想法是应用程序将具有以下模块:

  • 控制台
  • 订单
  • 客户
  • 财务
  • 其他...

这个想法是任何模块都可以是一个单独的SPA,它将由MAIN APP整合,它将具有菜单并将控制模块之间的导航。

基于此,我们计划构建我们的VS解决方案,如下所示:

-- Solution
   /ModuleA
       /FrontEnd (single page application)
   /ModuleB
       /FrontEnd (single page application)
   /Main
       /Front (web project that will consolidated others)

作为后端,我们将使用WEB.API(.net 4.5)

我们怀疑我们必须在这些SPA中使用哪些框架(实际的计划是使用knockout.js,但我们不知道是否是最好的选择)以及我们如何使这个MAIN APP加入其他动态模块。

3 个答案:

答案 0 :(得分:0)

Knockout适用于更简单的用法。它不支持SPA和模块化方法。所以你必须自己处理它(或者借助一些扩展)。

我建议您查看支持SPA开箱即用的框架。我最喜欢的是Angular,由Google开发。

它有很棒的模板引擎,支持IoC,routing模块。您可以轻松地为模块制作部分模板,将它们放入单独的文件中。

答案 1 :(得分:0)

建立SPA申请有三个关键事实。

  1. 客户端路由
  2. 2路结合
  3. 客户端模板
  4. 淘汰它自己只照顾2路绑定,它易于使用和强大,但它需要很多朋友,例如sammyjs用于路由,车把用于客户端模板

    当你想让主应用程序动态地与其他模块交互时,使用淘汰赛变得很困难。

    所以我的推荐是angularjs,它真的很强大,它会照顾好一切,值得花一点时间来看看

答案 2 :(得分:0)

如果您想继续使用Knockout,请查看Durandaljs这是一个SPA框架。我发现它很容易起床和运行。