我想将“socket.io-servicebus”模块用于我的node.js应用程序。
但我遇到了一个问题。 安装“socket.io-servicebus”后,“Publish-AzureServiceProject”命令未创建cloud_package.cspkg文件。
我在Windows7 64位版本上使用“Windows Azure PowerShell”。
这是程序。
Publish-AzureServiceProject -ServiceName xxx ...
[cloud_package.cspkg不会创建]
顺便说一句,“Start-AzureEmulator -Launch"
将成功,我们可以测试自己的应用程序。
请给我一些建议。谢谢。
答案 0 :(得分:-1)
看起来这里的问题是由于已知的路径长度限制。 Azure对包中的路径有超过255个字符的限制,在这种情况下引入socket.io所有它的依赖关系正在触及该路径。
这里有几种可能的解决方法。
A。 - 在服务器上压缩节点模块并解压缩。
基本上,您压缩模块并在包中发布模块zip。然后,您可以使用服务器上的Azure启动任务(在您的cscfg中)解压缩文件。
Publish-AzureServicePackage将抓取项目中的任何内容,因此在这种情况下,您只需要一个在发布之前运行的脚本,它会创建node_modules存档并删除node_modules。
我打算就此发表一篇博文,但这实际上相对容易。
B. - 动态下载节点模块
您可以在云中下载模块。这也可以通过启动任务来完成,如here所示。
如果您查看该帖子,您将看到如果您决定执行存档路由,您将如何创作启动任务。
如有任何问题,请随时与我联系。