如何构build基于Express的Azure移动服务/ Moible应用程序

使用Azure和我使用networking应用程序和移动服务。 看来,移动服务是缺less一些组件,这限制了我做传统/最佳实践路由的能力。 当我克隆和检查项目时,似乎缺less存在于Azure Web App或任何家庭酿造服务器中的索引文件。 请提供您有关最佳做法的任何build议或知识,以及对我为我们的移动服务设置的任何修改。

下面的代码是我devise我们的移动服务API,因为他们似乎缺乏索引。 也许我应该制作一个专门的API来把所有东西都捆绑 任何build议或经验将有助于我们做出正确的决定。 谢谢。

var express = require('express'); var app = module.exports = express(); var bodyParser = require('body-parser'); //configure bodyparser app.use(bodyParser.urlencoded({ extended: false })) app.use(bodyParser.json()) //test app.register = function(api) { api.get('id', getNextUserId); api.get('get_user_by_email', getUser); api.post('post_user', postUser) } 

与Web应用程序结合使用时,我不推荐使用Azure移动服务。

创build一个普通的Express Web应用程序。 我使用Yeoman发生器。 添加azure-mobile-apps包 – 这是提供/ tables端点以连接到SQL Azure实例的中间件。 它还处理authentication和自定义端点创build。

这样,您就不需要额外的服务来处理移动连接。

azure-mobile-apps模块公开了一个中间件,通过use函数将其安装到快速实例上。 中间件处理特定的路由,例如/tables/api

您可以将任何其他中间件或路由安装到您的快速应用程序中,使您可以自由使用您认为合适的任何规定的“最佳实践”。 要融入您的示例:

 var express = require('express'); var app = module.exports = express(); var bodyParser = require('body-parser'); var mobileApp = require('azure-mobile-apps')(); //configure bodyparser app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); //configure mobile apps mobileApp.tables.add('table'); app.use(mobileApp); //test app.register = function(api) { api.get('id', getNextUserId); api.get('get_user_by_email', getUser); api.post('post_user', postUser); }; 

实际上,移动业务的结构有点复杂。 我们可以对其结构进行有限的自定义操作。

这是不是很清楚你的要求。 你想要在移动服务上实现自定义的API,还是要为移动应用程序实现一个基于ExpressJ的后端服务器?

如果你想在一个定制的API脚本中定义多个路由,你不需要实现整个expressjs结构,你只需要在这个脚本中定义所有的路由function并且需要依赖关系。 然后移动服务后台服务器启动,它将扫描自定义API文件夹中的脚本并注册路由。 有关更多详细信息,请参阅https://azure.microsoft.com/zh-CN/documentation/articles/mobile-services-how-to-use-server-scripts/#api-routes

如果您需要使用额外的自定义API模块,则可以利用git来共享和pipe理自定义脚本和依赖项。 但是你仍然不需要实现整个expressjs框架。

您可以login移动服务的KUDU控制台网站,浏览移动服务的整个结构和源代码。 我们pipe理的脚本放在App_Data文件夹中。

同时,如果您希望将整个基于expreejs的应用程序作为移动应用程序的后端服务器,则可以使用Azure移动应用程序,请参阅https://azure.microsoft.com/zh-cn/documentation/articles/app -service-mobile-node-backend-how-to-use-server-sdk /更多信息。