Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Express抛出类型错误:无法读取属性';app&x27;未定义的_Javascript_Node.js_Express - Fatal编程技术网

Javascript Express抛出类型错误:无法读取属性';app&x27;未定义的

Javascript Express抛出类型错误:无法读取属性';app&x27;未定义的,javascript,node.js,express,Javascript,Node.js,Express,我有一个运行CommonFrameworkExpress的nodejs服务器。我最近注意到,当我从我的服务器发出请求时,我会在看似随机的时间出现这个错误,例如,如果我发出两次请求,错误通常只会在第一次请求时发生,而不会在第二次请求时发生。我很难确定是什么导致了这个错误,因为我经常一次编写代码,然后再测试它。以下是完整的错误: TypeError: Cannot read property 'app' of undefined at json (/home/user/Desktop/pro

我有一个运行CommonFrameworkExpress的nodejs服务器。我最近注意到,当我从我的服务器发出请求时,我会在看似随机的时间出现这个错误,例如,如果我发出两次请求,错误通常只会在第一次请求时发生,而不会在第二次请求时发生。我很难确定是什么导致了这个错误,因为我经常一次编写代码,然后再测试它。以下是完整的错误:

TypeError: Cannot read property 'app' of undefined
    at json (/home/user/Desktop/project/node_modules/express/lib/response.js:256:18)
    at process._tickCallback (internal/process/next_tick.js:68:7) 'Unhandled Rejection at Promise' Promise {
  <rejected> TypeError: Cannot read property 'app' of undefined
      at json (/home/user/Desktop/project/node_modules/express/lib/response.js:256:18)
      at process._tickCallback (internal/process/next_tick.js:68:7) }
如果我还需要什么,请问我。我试图在代码中包含与“app”一词相关的所有引用,但这可能还不够


编辑:我感谢大家的帮助,但我提供的代码不是为了工作,它只是我导入的一个示例,这是express的一个错误,我只是想找出什么样的行为会导致它。抱歉搞混了。

//对我来说很好。删除您的本地进口。这个很好

const express = require('express');
const helmet = require('helmet');
const cors = require('cors');
const bodyParser = require('body-parser')
app = express();
app.use(helmet());
app.use(cors());
app.use(bodyParser.urlencoded({
    extended: false
}));
app.use(bodyParser.json());
app.set('trust proxy', true);
//set port and listen on it
app.listen(5000, () => console.log("Server running on port 5000"));

要使代码正常工作,必须添加

const express = require('express'),
        user = require('./routers/User.js'),
        helmet = require('helmet')
 ----> const app = express();

or helmet = require('helmet'), <-----
 app = express()
const express=require('express'),
user=require('./routers/user.js'),
头盔=需要(“头盔”)
---->常量app=express();

或者helmet=require('helmet'),您很可能在“helmet=require('helmet')之后缺少逗号


对不起,这是问题中的疏忽,不是实际错误。你能检查一下我编辑的答案,看看它是否解决了问题吗
const express = require('express'),
        user = require('./routers/User.js'),
        helmet = require('helmet')
 ----> const app = express();

or helmet = require('helmet'), <-----
 app = express()
const express = require('express'),
    user = require('./routers/User.js'),
    helmet = require('helmet'),
    app = express();
app.use(helmet());
app.use(cors());
app.use(bodyParser.urlencoded({
    extended: false
}));
app.use(bodyParser.json());
app.set('trust proxy', true);

//map router files to respective urls
//these are stored in a directory and set above, these contain all of the handlers for each of my routes
app.use('/user', user);

//set port and listen on it
app.listen(5000, () => console.log("Server running on port 5000"));