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应用服务。
您可以在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.