Невозможно прочитать свойство '_header' из неопределенного - PullRequest
0 голосов
/ 02 октября 2018

Код ошибки - строка 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 и узловые модули под root, а все html / css / js / imgs находятся в / web.Я не уверен, почему этот флаг заголовка выбрасывается.Когда я использую строку app.get, он отправляет только HTML-файл, но не изображения или JS.Мне нужно иметь возможность обслуживать весь каталог /web.

1 Ответ

0 голосов
/ 02 октября 2018

Вы создаете экземпляр app в первой строке, а затем вызываете его в строке 2:

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

Вместо этого следует сделать следующее:

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

Илиэто:

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

Вы можете найти больше информации о экспресс-API здесь .

...