0

我最近遇到了sails.js 并喜欢它(所以还是个新手)。我的问题与我的 web 服务和 UI 的部署有关。

我的应用程序将具有 Web UI 和移动 UI,我选择了以下内容:Web UI - AngularJS + bootstrap 移动 UI - AngularJS + bootstrap + cordova(用于本地 API 访问)

我想在我的 Web UI 和移动 UI 中维护通用代码。因此,我的选择是将sails.js 仅作为Web 服务API 服务器托管,并将UI 托管在单独的服务器(如nginx / apache)中。我将不得不对代码进行一些选择性分离(尤其是登录页面 + 本机层访问)。

这种方法的优点/缺点是什么?任何经验,输入都会非常有帮助。

4

2 回答 2

1

不确定我是否正确理解了您的问题,但我认为您过于复杂了。这是我的看法:

您实际上不需要将 API 和 webapp 本身分开。您可以将 Sails 运行在特定端口(默认为 1337)和 Nginx 前面作为反向代理,将连接转发到 Sails 并提供符合您的 UI(JS、CSS、字体等)的静态文件。

这是使用此设置配置 Nginx 和节点应用程序的示例。


你基本上有两个选择:


A - 响应式设计 WEBAPP

带有 Bootstrap 或 Foundation 的响应式 Sails webapp 允许您共享 100% 的 UI。您从您的网络服务器 Nginx(或更好的 CDN)提供已编译和缩小的静态数据以及所有 Angular 逻辑、样式等

浏览器和手机连接到您的 Sails API(即:yourdomain.com/api/v1/)


B - WEBAPP + CORDOVA 移动原生应用

如果您使用cordova,因为您需要本地访问,UI 文件也是设备本地的。您共享一些逻辑,但 UI 很少(除非您已经在 web 应用程序中有响应式设计并从中借用代码)。

在这种情况下,您可以在两个 UI 之间共享的单独 repo 中维护一系列 css 和 angular 模块,并通过 git submodule 或类似方式加载它。但我(个人)更喜欢分离的代码库或响应式 Web 应用程序。这完全取决于您的应用程序代码库的增长量。

Webapp 和 cordova 应用程序仍然连接到您的 Sails API(即:yourdomain.com/api/v1/)


希望能帮助到你

于 2014-04-13T21:10:55.077 回答
0

关于您问题的代码设计方面,使用sails 构建webservice 或api 是完全可以的。

以下资源可能有用:

于 2014-04-12T20:14:55.173 回答