node.js angular jade客户端和node.js rest api

有没有什么好的例子或指导,任何人可以提供这样的结构化应用程序?

Client (client.company.com) Node.js Angular Jade ExpressJS Server (private) (server.company.com) node.js "rest" api (express) 

api现在是私有的,只能从托pipe服务器访问。

如果有一个创build食谱的页面,是这样吗? 客户

 - angular form with router that posts to client.company.com/recipe - express would need route to handle that /recipe - that route would then post to api server server.company.com/recipe - then response would be propagated through the layers back to the ui. 

这是正确的客户端复制API路线? 有什么可以做简化和减less重复的东西吗?

angular度forms应该直接发布到API服务器。 Express仅用于提供angular度html / javascript /静态文件。 html和api之间的层数越less越好。 我没有看到有什么好的理由,为什么你需要客户端复制API路线。

由于您的api位于托pipe服务器之后,因此您可以设置nginx服务器将所有api调用从托pipe服务器路由到api服务器。 下面是一个示例nginxconfiguration来做路由:

 upstream clientServer { server client.company.com:80; } upstream apiServer { server server.company.com:80; } server { location / { root html; index index.html index.htm; proxy_pass http://clientServer; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /api { proxy_pass http://apiServer; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } 

注意上面是nginx.conf的一个片段。

Nginx会查看你的URLpath。

  • 请求访问/path将转到客户端服务器(您可以在其中主持快速js和angular度文件)
  • 请求访问/ api / *path将被转发到apiserver

你的angular度forms可以直接调用api到/ api / *

希望有所帮助。