Javascript Angular fullstack generator生产应用程序无法正确服务socket.io?

Javascript Angular fullstack generator生产应用程序无法正确服务socket.io?,javascript,angularjs,node.js,socket.io,angular-fullstack,Javascript,Angularjs,Node.js,Socket.io,Angular Fullstack,我在AWS上通过相同的设置和配置部署的两个angular fullstack应用程序之间遇到了麻烦 看起来socket.io-client/socket.io.js并没有在其中一个服务器上正常运行,尽管有相同的设置 在尝试获取socket.io.js时,它似乎收到了错误400(错误请求),而反过来,它得到了一个“未定义的io” 我已将其缩小为以下代码: var socketio = require('socket.io')(server, { serveClient: (config.env

我在AWS上通过相同的设置和配置部署的两个angular fullstack应用程序之间遇到了麻烦

看起来socket.io-client/socket.io.js并没有在其中一个服务器上正常运行,尽管有相同的设置

在尝试获取socket.io.js时,它似乎收到了错误400(错误请求),而反过来,它得到了一个“未定义的io”

我已将其缩小为以下代码:

var socketio = require('socket.io')(server, {
  serveClient: (config.env === 'production') ? false : true,
  path: '/socket.io-client'
});
似乎如果我将serveClient设置为“始终为真”,它将起作用,因为它始终为客户机服务

如果是这样的话,为什么那么多在线资源在生产时将serveClient设置为false?它适用于一个应用程序,但不适用于另一个应用程序

编辑:刚刚在AWS上部署了serveClient:true。不起作用。但很明显,它对我的本地电脑有效

编辑2:是否为正在工作的应用程序安装了
npm
,现在它已损坏,因此可能是软件包损坏了


编辑3:在
grunt build:dist
和相同的问题之后,对
节点\u ENV=production
进行了测试,因此它应该是其中一个包的问题。

证明angular fullstack的内置grunt文件将获取bower.json中的所有依赖项(通过wiredep),其中包括谷歌代码prettify/bin/prettify.min.js,因为我已经安装了它

缩小过程在某种程度上与已经缩小的prettify.min.js不兼容(以前在其他缩小文件中从未出现过此问题)

因此,我必须在wiredep.target.exclude属性中包含一个正则表达式,以排除google code prettyify/**/.js文件,并手动包含未缩小的/src/prettify.js文件

我有一种感觉,谷歌代码美化软件包引起了一些问题,因为我记得JSHint以前曾抱怨过它


希望这能让人们意识到npm包可能会以某种间歇方式被破坏。

AWS配置中肯定没有差异吗?我会尝试在另一个应用程序的机器上运行正在工作的应用程序,以查看代码或机器配置是否有问题。(我想是虚拟服务器吧…)它在同一台机器上,一切都是一样的,因为我是用yeoman搭建的,只添加了内容。我能想到的唯一一件事是,也许我把nginx搞砸了,但它也只是第一个应用程序的一个副本。我看了看前端,它说“io未定义”,socket.io.js出现错误400I有相同的问题,但不清楚您的解决方案。你愿意分享一些代码吗?对不起,已经两年了,我完全忘了这是怎么回事。从我所写的内容来看,似乎我只是排除了对
googlecode prettify/bin/prettify.min.js
文件所做的任何自动化操作,然后将其按原样包含在其他地方。