情况:
我正在使用 ReactJS 和 ExpressJS 构建一个 Web 应用程序(一个 SPA)。我正在使用 Socket.IO 进行实时聊天。当我构建我的应用程序并在本地主机上运行它时,一切正常,所以我决定将它部署在 Heroku 上。我的应用程序已在 Heroku 上成功构建并可以使用。
问题:
所以我输入我的应用程序,看看它是否在 Heroku 上工作正常。当我进入登录页面和注册页面时,该应用程序似乎没问题(这些页面不适用于 Socket.IO)。但是当我进入聊天页面(这个页面使用Socket.IO进行实时聊天)时,客户端崩溃了,它没有加载并抛出以下错误。
错误:
我收到以下错误:
> Uncaught TypeError: Cannot read property 'DEBUG' of undefined
at load (browser.js:168)
at Object.eval (browser.js:178)
at eval (browser.js:197)
at Object../node_modules/socket.io-client/node_modules/debug/src/browser.js (vendor.js:2639)
at __webpack_require__ (main.js:788)
at fn (main.js:151)
at eval (url.js:7)
at Object../node_modules/socket.io-client/lib/url.js (vendor.js:2628)
at __webpack_require__ (main.js:788)
at fn (main.js:151)
当我在线查看模块时,它有以下检查:
// If debug isn't set in LS, and we're in Electron, try to load $DEBUG
if (!r && typeof process !== 'undefined' && 'env' in process) {
r = undefined.DEBUG; //the error is showed here
}
所以我在本地主机上启动我的应用程序并搜索上面的代码,我得到了这个:
// If debug isn't set in LS, and we're in Electron, try to load $DEBUG
if (!r && typeof process !== 'undefined' && 'env' in process) {
r = { /*A JSON object contains .env variables*/ }.DEBUG;
}
代码:
这是我的服务器:
//requirements...
const socket = require("./server/socket");
const app = express();
const server = http.createServer(app);
const port = process.env.PORT || 3000;
//middlewares...
//routes...
//database connection...
socket(server);
server.listen(port);
console.log("Server started on: " + port);
我的套接字设置:
const socketIO = require("socket.io");
const socket = server => {
const io = socketIO(server);
const chat = io.of("/chat");
chat.on("connection", client => {
console.log("User started chat!");
client.on("disconnect", () => {
console.log("User left chat!");
});
client.on("sendMessage", msg => {
const data = msg;
client.broadcast.emit("incomingMessage", { data });
});
});
};
慕姐4208626
白板的微信
相关分类