首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Nodejs - TypeError:无法读取未定义的属性“”headersSent“”

Nodejs - TypeError:无法读取未定义的属性“”headersSent“”
EN

Stack Overflow用户
提问于 2018-07-02 01:24:19
回答 2查看 6.2K关注 0票数 2

我正在尝试使用nodejs,express和socket.io创建一个简单的聊天工具。但是当我运行我的应用程序时,我在finalhandler中收到了一个erro。但我甚至不知道这是什么。谷歌这次也没能帮上忙

我得到的只是一些github的讨论,没有什么真正对我有帮助的

什么是finalhandler?我甚至尝试重新启动我的项目,只是使用了socketio和服务器,我得到了同样的错误

app.js:

代码语言:javascript
复制
var express = require("express")();
var http = require("http").Server(app);
var io = require("socket.io")(http);
var path = require("path");

var app = express();
var clients = {};

app.set('view engine', 'ejs');
app.use(express.static(__dirname + '/public'));

app.get('/', function(req, res){
    res.render('index');
});

io.on("connection", function(client) {
    console.log('user connected');
});

io.on("connection", function(client) {
    client.on("join", function(name){
        console.log("Joined: " + name);
        clients[client.id] = name;
        client.emit("update", "Você está conectado ao servidor");
        client.broadcast.emit("Update! => ", name + "entrou no servidor");
    });
    client.on("send", function(msg){
        console.log("Mensagem: " + msg);
        client.broadcast.emit("chat", clients[client.id], msg); 
    });
    client.on("disconnect", function(){
        console.log("Disconectado");
        io.emmit("Update! => ", clients[client.id] + " saiu do servidor");
        delete clients[client.id];
    });
});

http.listen(3000, function(){
    console.log('Rodando na porta 3000');
});

package.json:

代码语言:javascript
复制
{
  "name": "diga",
  "version": "1.0.0",
  "description": "",
  "main": "nodemon",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "serve": "nodemon app.js"
  },
  "repository": {
    "type": "git",
    "url": ""
  },
  "author": "juliana",
  "license": "ISC",
  "dependencies": {
    "@types/socket.io": "^1.4.36",
    "ejs": "^2.6.1",
    "express": "^4.16.3",
    "g": "^2.0.1",
    "jquery": "^3.3.1",
    "socket.io-client": "^2.1.1",
    "socketio": "^1.0.0"
  },
  "devDependencies": {
    "nodemon": "^1.17.5"
  }
}

EN

回答 2

Stack Overflow用户

发布于 2020-05-24 21:03:10

如果你想获得更多的好处,不要先执行express,如下const express = require(' express ')

获取服务器,const app = express();

您将使用您的服务器引导应用程序,并快速帮助它提供静态文件,这些文件可以位于任何位置,例如。公共信息如下

代码语言:javascript
复制
Now add all it will look as below

const express = require('express');
const app = express();

app.use(express.static('public'));

app.listen(3000, () => console.log('Its working on port 3000'))```
票数 2
EN

Stack Overflow用户

发布于 2021-01-19 00:00:34

如果上面的例子不起作用,那就试试吧。

代码语言:javascript
复制
const express = require('express');
const app = Royexpress();
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51125444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档