有问题的代码是 app.use(express.static("web"))
行。
var express = require('express')();
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
//app.get('/', function(res, req) {
// res.sendFile(__dirname + '/www/index.html');
//})
app.use(express.static("web"));
在控制台中返回以下错误:
/Users/matthewwalker/CVLGBT/CVLGBT/www/node_modules/finalhandler/index.js:92
if (!err && res._header) {
^
TypeError: Cannot read property '_header' of undefined
at /Users/matthewwalker/CVLGBT/CVLGBT/www/node_modules/finalhandler/index.js:92:21
at Function.handle (/Users/matthewwalker/CVLGBT/CVLGBT/www/node_modules/express/lib/application.js:170:5)
at app (/Users/matthewwalker/CVLGBT/CVLGBT/www/node_modules/express/lib/express.js:38:9)
at Object.<anonymous> (/Users/matthewwalker/CVLGBT/CVLGBT/www/index.js:2:11)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
其他时候,当我稍微更改代码时,我会得到express is not Defined
。文件结构:index.js和node模块在root下,而所有html/css/js/imgs都在/web下。我不确定为什么会抛出这个 header 标志。当我使用 app.get
行时,它只发送 html 文件,但不发送图像或 js。我需要能够为/web 的整个目录提供服务。
最佳答案
您在第一行构建一个 app
实例,然后在第 2 行调用它:
var express = require('express')();
var app = express();
你应该这样做:
var express = require('express');
var app = express();
或者这个:
var app = require('express')();
您可以找到有关express api的更多信息here .
关于javascript - 无法读取未定义的属性 '_header',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52600717/