7

假设我有一个 Web 应用程序 - 一个大型、复杂的 Rails 应用程序,例如会计应用程序。我看到了几个单页应用程序的用途,而不是典型的 Rails 往返页面。例如,我可以看到使用直观的单页/动态应用程序为用户提供更好的服务:

  • 创建银行对账
  • 创建发票
  • 填写时间报告
  • ETC..

这些都是不同的一页应用程序......

我看到的所有 ember 应用程序都是单页和单一用途的。

我想要很多单页应用程序,用 ember 构建。这将如何看待:

路由:我会结合服务器路由和客户端路由。在 Ember 中会是什么样子?服务于不同的 Ember 应用程序,每个应用程序都有自己的应用程序路由器和路由?

模板:我所有的“小程序”会被编译并在加载时推送到客户端吗?或者我会利用 require.js 并根据它们是否被导航到加载每个单页应用程序?...

谁能帮忙解答这两个问题?提前致谢!

4

2 回答 2

2

路由:我会结合服务器路由和客户端路由。在 Ember 中会是什么样子?服务于不同的 Ember 应用程序,每个应用程序都有自己的应用程序路由器和路由?

取决于在功能方面有多少重叠。当然,您可以使用自己的路由器和路由为不同的 Ember 应用程序提供服务。在这种情况下,您可能还会编写一个带有通用基类和 mixin 的共享库。

另一种方法是使用单个 ember 应用程序,该应用程序的外观和行为因路由而异。这就是我要开始的地方,直到你对 ember 有很好的感觉,并看到一个令人信服的理由将事情分开。

模板:我所有的“小程序”会被编译并在加载时推送到客户端吗?或者我会利用 require.js 并根据它们是否被导航到加载每个单页应用程序?...

Rails 中阻力最小的路径是使用 sprockets 来编译和打包你的模板——一旦编译它们就只是 javascript。通常,rails 应用程序会将所有 javascript 捆绑到 application.js 并在加载时包含它们。另一种方法是将特定于应用程序的代码和模板拆分为 app1.js、app2.js 等,并在导航到应用程序时分别加载。

于 2013-07-24T04:46:57.193 回答
2

我建议使用 PODS 结构,然后您可以拥有类似的路线

/app1/
  /route1
  /route2  
/app2/
  /route1
  /route2
etc...

如果您使用 pods 结构生成文件夹,例如 ember generate route app1\route1

你最终会得到一个很好的文件夹结构,你可以在以后拆分它,比如:

   /app
       /pods/
            /app1
                 /route1
                    route.js
                    controller.js
                    template.hbs
                 /route2
                    route.js
                    controller.js
                    template.hbs
            /app2
                 /route1
                    route.js
                    controller.js
                    template.hbs
                 /route2
                    route.js
                    controller.js
                    template.hbs
于 2016-04-29T15:43:24.923 回答