我不明白为什么会看到这个错误。
我的app.js
文件
const express = require("express");
const morgan = require('morgan');
const app = express();
const tourRouter = require('./routers/tourRouter');
const userRouter = require('./routers/userRouter');
app.use(express.json());
app.use(morgan('dev'));
app.use((req,res,next)=>{
req.RequestTime = new Date().toISOString();
next();
});
app.use('/api/v1/tours',tourRouter);
app.use('/api/v1/users',userRouter);
const port = 3000;
app.listen(port, () => {
console.log(`App running on port ${port}`);
});
这运行起来没有问题,但当我切断时
const port = 3000;
app.listen(port, () => {
console.log(`App running on port ${port}`);
});
这部分我和app.js编写文件夹exports.module=app;我创建了server.js
文件
const app = require('./app');
const port = 3000;
app.listen(port, () => {
console.log(`App running on port ${port}`);
});
这不起作用,我得到
类型错误:app.listen不是函数
正如@Dickens A S所评论的,您需要将object: app: instance of express
分配给file: "app.js"
中的module.exports
。
读取文档:Node.js:module.exports
许多人希望他们的模块是某个类的实例。为此,请将所需的导出对象分配给module.exports.
将此添加到file:app.js
:的
module.exports = app;
要使其工作,您必须导出模块,因此添加:
module.exports = app
在您的app.js
文件中。