我使用Windows Azure移动服务的源代码管理功能推送自定义API脚本。
我做了什么:
service/api/test.js
和service/api/test.json
个文件(自定义API脚本和配置)。我从git获得了以下输出:
remote: Updating branch 'master'.
remote: Updating submodules.
remote: Preparing deployment for commit id '1cbfbd5ac1'.
remote: Running custom deployment command...
remote: Running deployment command...
remote: Handling Basic Web Site deployment.
remote: KuduSync.NET from: 'D:\home\site\repository\service' to: 'D:\home\site\wwwroot\App_Data\config\scripts'
remote: Copying file: 'api\test.js'
remote: Copying file: 'api\test.json'
remote: Missing server.js/app.js files, web.config is not generated
remote: Node.js versions available on the platform are: 0.6.17, 0.6.20, 0.8.2, 0.8.19, 0.8.26, 0.10.5, 0.10.18, 0.10.21, 0.10.24.
remote: Selected node.js version 0.10.24. Use package.json file to choose a different version.
remote: npm WARN package.json myservice@1.0.0 No repository field.
remote: npm WARN package.json myservice@1.0.0 No README data
remote: Finished successfully.
remote: Deployment successful.
现在,当我尝试通过标准API访问任何现有表格(例如发布到https://myservice.azure-mobile.net/tables/MyTable
)时,我收到500内部服务器错误。
我认为上述输出中的这一行与它有关:
remote: Missing server.js/app.js files, web.config is not generated
但是,git repo中从未包含任何server.js
或app.js
,我不知道这些文件应包含哪些内容,因为文档中似乎没有提及这些文件。 / p>
答案 0 :(得分:3)
事实证明,此错误消息不是罪魁祸首:
remote: Missing server.js/app.js files, web.config is not generated
与优秀的程序员一样,我已将配置信息放在<PROJECT_ROOT>/shared/config.json
中。当我检查日志时,它抱怨路由未正确配置。文档暗示只有<PROJECT_ROOT>/api
包含自定义路由,因此当文档明确指出共享目录专门用于表所使用的共享代码时,我不知道为什么它将共享目录中的JSON文件解释为路由配置和自定义API脚本。
将其从config.json
更改为config.js
并进行必要的代码更改后,所有内容都重新开始工作。
我仍然收到有关丢失server.js / app.js文件的警告,但它似乎没有任何影响。
结论:除了最初与脚本捆绑在一起的readme.md
文件中指定的内容之外,不要将JSON文件添加到Azure移动服务脚本。