Angular 是否建议客户端路由和服务器端路由一起提供

Angular 是否建议客户端路由和服务器端路由一起提供,angular,angular2-routing,isomorphic-javascript,angular-universal,Angular,Angular2 Routing,Isomorphic Javascript,Angular Universal,我只是从Angular Universal开始,对“同构”javascript完全陌生 对于如何拥有逻辑路由系统,我有点困惑,您是否打算构建angular universal作为典型的节点rest api?或者,它的字面意思仅仅是立即为客户端代码提供服务,并从外部源代码/RESTAPI检索数据 以角度通用起动器套件为例,它从这些路线开始 app.get('/', ngApp); app.get('/about', ngApp); app.get('/about/*', ngApp); app.g

我只是从Angular Universal开始,对“同构”javascript完全陌生

对于如何拥有逻辑路由系统,我有点困惑,您是否打算构建angular universal作为典型的节点rest api?或者,它的字面意思仅仅是立即为客户端代码提供服务,并从外部源代码/RESTAPI检索数据

以角度通用起动器套件为例,它从这些路线开始

app.get('/', ngApp);
app.get('/about', ngApp);
app.get('/about/*', ngApp);
app.get('/home', ngApp);
app.get('/home/*', ngApp);
那么,在这一侧包含node/express/mongoapi以获取/发布数据是否合乎逻辑?ie

const bearRoutes = require('./routes/bear')
app.use('/', bearRoutes)
如果是,您会使用哈希策略来区分URL吗

从外部api使用universal在angular2应用程序上提供数据与将所有内容托管在一起相比,会有明显的性能差异吗

谢谢你的建议

对于如何拥有逻辑路由系统,我有点困惑,您是否打算构建angular universal作为典型的节点rest api

angular universal
采用了这一理念。您在服务器端构建路由,因为所有内容都是在服务器端构建的

那么,在这一侧包含node/express/mongoapi以获取/发布数据是否合乎逻辑

是的,您的数据服务。 例如 不适用于
应用程序。请使用
,因为这实际上是您的节点REST服务器

如果是,您会使用哈希策略来区分URL吗

首先,URL中
#
之后的任何内容都不会被服务器端看到。但是,您描述的问题是如何命名URL,以及是否区分为角度编译/呈现的HTML内容提供服务的URL与数据/API服务

答案是肯定的。这对管理服务器路由有好处。例如,如果您的路线是

app.get('/', ngApp);
app.get('/about', ngApp);
app.get('/about/*', ngApp);
app.get('/home', ngApp);
app.get('/home/*', ngApp);
你可以加上

app.get('/api/profile', serverAPIAppOrprofileJSON); 
从外部api使用universal在angular2应用程序上提供数据与将所有内容托管在一起相比,会有明显的性能差异吗


考虑一个场景,页面的一小部分由于某些用户交互而发生更改,需要您带来一些数据。您可能只想更新此部分,而不是呈现整个页面。因此,在这种情况下,性能会更好

好的,那么我应该单独创建/托管一个节点REST服务器?如前所述,在构建博客应用程序时,建议让Node REST服务器直接通过hbs/jade等提供html,然后将管理部分作为单独的SPA。其中,与angular Universal的情况一样,听起来您将拥有node rest服务器,angular universal server作为客户端使用node rest服务器,然后您仍然可以将管理部分作为单独的SPA,或者甚至作为另一个通用设置?无论渲染发生在何处,随着应用程序的增长,API服务器分离是可取的。API服务可能有其他使用者,并且可能有单独的部署和开发生命周期。