javascript - 无法读取未定义的属性“_header”
问题描述
有问题的代码是该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
. 文件结构:root下的index.js和node模块,而所有的html/css/js/imgs都在/web下。我不确定为什么会抛出此标头标志。当我使用该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 的更多信息。
推荐阅读
- kubernetes - Kubernetes:如何管理同一应用程序的多个单独部署
- java - (Java) 在多个线程上同时从同一个套接字接收数据包
- python - numpy数组除法将所有元素都归零
- jenkins - 如何在 jenkinsfile 的 shell 命令中使用 pom 版本?
- api - 使用 Umbraco 7.x 后端“用户”帐户(不是成员帐户)检查密码历史记录
- angular - 第一次滚动事件的角度加载更多
- javascript - 如何在画布对象jQuery中添加类
- .net - 具有无效证书的自定义 NuGet 源
- flutter - 在 main.dart 中使用 FutureBuilder
- numpy - 随机像素?(矩阵,Numpy)