【发布时间】:2016-05-23 18:02:05
【问题描述】:
因此,Parse 关闭让我忙于为即将发布的应用寻找合适的备份计划。
我一直在寻找 Microsoft Azure 作为替代品,并开始使用 Azure 移动服务进行测试。这实际上进展得很顺利,但我一直注意到很多这样的消息:
注意:这是一个 Azure 移动服务主题。微软天青 为所有新的移动后端推荐 Azure App Service 移动应用 部署。若要开始使用 Azure 应用服务移动应用,请参阅 应用服务移动应用文档中心。
好的,所以我一直在研究应用服务。我已经阅读了很多文档,有时可能会令人困惑,因为有些链接似乎没有指向正确的“版本”。有时,“应用程序服务”链接最终会出现在“移动服务”文章中。他们的名字非常接近,以至于可能会令人困惑和沮丧。但承诺如下:
移动应用是应用服务中的一种新应用类型,它集成了移动服务的所有功能等。移动应用处于公开预览阶段。
无论如何,对于移动服务来说很难找到并且(到目前为止)已证明无法为应用服务找到的一件事与共享代码有关。一个重要原因是似乎没有机制可以在 Azure 门户(旧的或新的)中真正查看您的共享代码,更不用说使用他们的在线编辑器了。我看不到这种代码应该如何或在何处合并到我的自定义应用服务 API 中。
例如,下面是使用 WebStorm 通过 Git 签出时项目结构的比较:
移动服务项目结构
应用服务项目结构
现在,当我查看 App Services 项目中的 app.js 文件时,我看到以下代码行:
// Import the files from the tables directory to configure the /tables endpoint
mobile.tables.import('./tables');
// Import the files from the api directory to configure the /api endpoint
mobile.api.import('./api');
嗯,这很有希望,因为我想我可以添加一个“共享”目录,然后调用这样的东西:
mobile.api.import('./shared');
我猜这会导入该目录中的所有代码文件,但是我将如何从其他代码文件中访问它们?
这些似乎是普通的 Node.js/Express 应用程序,所以如果我已经在 app.js 中导入了代码文件,以下是否可以工作(假设一个名为 customcode.js 的代码文件)?
在app.js:
mobile.api.import('./shared');
在code.js(在 ./api 中):
var custom = require('customcode');
custom.doSomething();
在customcode.js(在./shared 中):
exports.doSomething = function () {
};
如果这不起作用,有没有办法做我想做的事情?它似乎在 Azure 移动服务上运行良好,但他们正试图将我推向 Azure 应用服务。
【问题讨论】:
-
您是否已经在移动应用上尝试过您的代码?由于移动应用程序比移动服务更灵活,因此您应该明确地使用移动应用程序。 Azure 移动应用程序的工作方式与您的节点应用程序的传统 Web 托管类似,因此自定义模块的 require 应该可以正常工作。
标签: node.js azure azure-web-app-service azure-mobile-services