如何构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 /更多信息。
- 在Azure上部署Angular2应用程序时发生节点版本错误
- Bad handshake或ECONNRESET Azure Mysql Nodejs
- 如何使用OIDCStrategy检索的accessToken来遍历AzuregraphicsAPI?
- EventEmitter内存泄漏
- 读取其他用户时,Microsoft Graph api 403访问被拒绝
- 提供令牌的Dynamics CRM 401
- 在Azure网站上使用Node.js进行image processing
- 成功将base64映像保存到Azure Blob存储,但blob映像始终损坏/小的白色框
- 如何从Visual Studio Team System部署纯粹的Angular应用程序到Azure网站