Azure应用程序服务的共享代码(移动应用程序)

所以,Parse关机让我急于为正在发布的应用程序find合适的备份计划。

我一直在考虑将Microsoft Azure作为替代品,并开始使用Azure移动服务进行testing。 实际上这样做很好,但是我一直注意到很多这样的消息:

注:这是一个Azure移动服务主题。 Microsoft Azure推荐Azure App Service移动应用程序用于所有新的移动后端部署。 要开始使用Azure App Service移动应用程序,请参阅应用程序服务移动应用程序文档中心。

好的,我一直在寻找应用服务。 我已经阅读了很多文档,有时可能会造成混淆,因为有些链接似乎没有指向正确的“版本”。 有时,“应用程序服务”链接最终将出现在“移动服务”文章中。 他们的名字很接近,可能会令人困惑和沮丧。 但承诺如下:

移动应用程序是App Service中的新应用程序types,它集成了移动服务等所有function。 移动应用程序正在公开预览。

无论如何,对于移动服务来说,有一点是很难find的,而且到目前为止,已经certificate不可能find应用服务,这与共享代码有关。 一个重要的原因是,在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应用程序服务的共享代码(移动应用程序)"

您可以在Visual Studio Online中查看(并编辑)与您的网站相关的所有代码。 到达目的地的最佳方式是到您的网站,点击工具(顶部),selectVisual Studio Online,然后点击开始。 就你的具体例子而言,假设你有一个“api”目录和一个“共享”目录。 在api / customapi.js文件中,你可以这样做:

 var customcode = require('../shared/customcode'); // Later on customcode.doSomething(); 

然后在你的shared / customcode.js中,你可以这样做:

 module.exports = { doSomething: function () { // Your custom code here } }; 

从本质上讲,移动应用程序和移动服务是WebApps之类的应用程序服务。

所以你可以通过它的url访问相关的Kudu控制台,比如https://<mobile-app-name>.scm.azurewebsites.net/DebugConsole for Mobile App,或者https://<mobile-service-name>.scm.azure-mobile.net/DebugConsole移动应用程序的https://<mobile-service-name>.scm.azure-mobile.net/DebugConsole

然后,在Kudu控制台中的移动应用或移动服务的pathsite/wwwroot的类似树如下。

 ../wwwroot |- api |- App_Data |- node_modules |- tables |- static |- .gitignore |- app.js |- iisnode.yml |- package.json |- sentinel |- web.config 

上面的树是Azure node.js上快速webapp的正常结构。

因此,如果您想在Azure移动应用程序/服务上需要某些模块或共享代码,则只需使用express来执行node.js.