Azure NodeJS WebApp上的静态服务Socket.IO

时间:2018-12-01 08:13:11

标签: node.js express socket.io azure-web-sites

我在Azure NodeJs WebApp上提供socket.io.js时遇到问题。

可以正确找到并提供文件,但是像这样在响应的开头和结尾都附加了一些字符(使它无法用作脚本):

enter image description here

静态服务在本地计算机(配置为this)上效果很好,而且我也可以从CDN正确获取Socket.IO(但是从长远来看,这不是理想的解决方案)。

环境:

  • NodeJs v7.4.0-Win-x86
  • Express 4.15.4
  • Socket.IO 2.2.0

有什么主意吗?

1 个答案:

答案 0 :(得分:0)

根据我的经验,有两个可能的原因会导致此问题。

  1. 要在Azure WebApp上部署Node应用程序,使用的iisnode是与本地部署的唯一区别。因此,我建议您尝试通过浏览器直接访问socket.io.js或{{1},仅尝试将wwwroot文件上传到路径iisnode中,以检查是否在没有https://<your-app-name>.azurewebsites.net/socket.io.js的情况下是否可以正常运行}。然后,您可以确认由curl或其他原因引起的问题。如果是iisnode,则可以在https://github.com/Azure/iisnode/issues上发布问题以寻求帮助。
  2. iisnodef3d5符号似乎是BOMEOF,它们是在0 /所使用和呈现的代码编辑器或IDE中制作的。中间件。如果是,则可以更改编辑器设置或使用诸如express.js / sed之类的工具将其删除。