Angular-全栈生成器生产应用无法正常服务 socket.io?
Angular-fullstack generator production app does not properly serve socket.io?
我 运行 在通过相同的设置和配置部署在 AWS 上的两个 angular-fullstack 应用程序之间遇到了麻烦。
似乎 socket.io-client/socket.io.js 尽管具有相同的设置,但在其中之一上无法正常服务。
似乎在尝试获取套接字时收到错误 400(错误请求)。io.js 反过来,它收到 "io not defined"。
我已经将范围缩小到这段代码:
var socketio = require('socket.io')(server, {
serveClient: (config.env === 'production') ? false : true,
path: '/socket.io-client'
});
似乎如果我将 serveClient 设置为始终为真,它就会起作用,因为它始终为客户端提供服务。
如果是这样的话,为什么网上那么多资源都把serveClient 设置为false 用于生产呢?它适用于一个应用程序,但不适用于另一个应用程序。
编辑:刚刚使用 serveClient 部署在 AWS 上:true。不起作用。但显然它适用于我的本地。
编辑 2:为正常工作的应用程序做了一个 npm install
,现在它坏了,所以可能有些东西与包有关。
编辑 3:在 grunt build:dist
和同样的问题之后对 NODE_ENV=production
进行了测试,所以它应该是其中一个软件包的问题。
原来 angular-fullstack 的内置 grunt 文件将获取 bower.json 中的所有依赖项(通过 wiredep),其中包括 google-code-prettify/bin/prettify.min.js 因为我已经安装它。
缩小过程在某种程度上与已经缩小的美化不兼容。min.js(以前从未真正遇到过其他缩小文件的问题)。
所以我不得不在 wiredep.target.exclude 属性 中包含一个正则表达式以排除 google-code-prettyify/**/.js 文件并手动包含非缩小 [ =21=.js 文件.
我感觉 google-code-prettify 包导致了问题,因为我记得 JSHint 之前抱怨过它。
希望这能让人们意识到 npm 包可能会以某种间歇性的方式被破坏。
我 运行 在通过相同的设置和配置部署在 AWS 上的两个 angular-fullstack 应用程序之间遇到了麻烦。
似乎 socket.io-client/socket.io.js 尽管具有相同的设置,但在其中之一上无法正常服务。
似乎在尝试获取套接字时收到错误 400(错误请求)。io.js 反过来,它收到 "io not defined"。
我已经将范围缩小到这段代码:
var socketio = require('socket.io')(server, {
serveClient: (config.env === 'production') ? false : true,
path: '/socket.io-client'
});
似乎如果我将 serveClient 设置为始终为真,它就会起作用,因为它始终为客户端提供服务。
如果是这样的话,为什么网上那么多资源都把serveClient 设置为false 用于生产呢?它适用于一个应用程序,但不适用于另一个应用程序。
编辑:刚刚使用 serveClient 部署在 AWS 上:true。不起作用。但显然它适用于我的本地。
编辑 2:为正常工作的应用程序做了一个 npm install
,现在它坏了,所以可能有些东西与包有关。
编辑 3:在 grunt build:dist
和同样的问题之后对 NODE_ENV=production
进行了测试,所以它应该是其中一个软件包的问题。
原来 angular-fullstack 的内置 grunt 文件将获取 bower.json 中的所有依赖项(通过 wiredep),其中包括 google-code-prettify/bin/prettify.min.js 因为我已经安装它。
缩小过程在某种程度上与已经缩小的美化不兼容。min.js(以前从未真正遇到过其他缩小文件的问题)。
所以我不得不在 wiredep.target.exclude 属性 中包含一个正则表达式以排除 google-code-prettyify/**/.js 文件并手动包含非缩小 [ =21=.js 文件.
我感觉 google-code-prettify 包导致了问题,因为我记得 JSHint 之前抱怨过它。
希望这能让人们意识到 npm 包可能会以某种间歇性的方式被破坏。