【发布时间】:2018-05-13 06:50:25
【问题描述】:
当我运行以下命令时:
const express = require('express');
const bodyParser = require('body-parser');
const routes = require("./routes.js");
var app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(routes);
var port = process.env.PORT || 3000;
app.listen(port);
我明白了:
TypeError: app.use() requires a middleware function.
控制台说错误发生在app.use(routes); 中的u。但是,如果我运行:
var express = require('express');
var bodyParser = require('body-parser');
var clientSessions = require('client-sessions');
var routes = require("./routes");
var app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use('/', express.static('./'));
app.use('/js', express.static('./public/js'));
app.use('/CSS', express.static('./public/CSS'));
app.use('/images', express.static('./public/images'));
app.use('/views', express.static('./public/views'));
app.use(clientSessions({
secret: 'ugkgdiuwgbkbgjwjkgvo'
}));
app.use(routes);
var port = process.env.PORT || 3000;
app.listen(port);
来自另一个项目,该项目运行良好,这让我相信我当前的项目有问题。
但是我不知道是什么。我已经尝试查看与我的类似的其他几个问题,但他们的解决方案都没有帮助。提前致谢!
routes.js(根据@31piy 的请求):
var express = require("express");
var router = express.Router();
router.get("/signup",function(request,response){
response.sendFile(__dirname + "/Client/HTML/signup.html");
});
router.post("/signup",function(request,response){
});
router.get("/login",function(request,response){
response.sendFile(__dirname + "/Client/HTML/login.html");
});
【问题讨论】:
-
请发
./routes.js的代码。 -
@31piy 用路线代码更新了问题。谢谢
-
检查
./routes与您的./routes.js的区别。您不会从后者中导出任何内容。由于您没有导出,因此代码不被视为中间件。 -
@31piy 无论有没有.js,我仍然得到错误...我忘了在最后添加模块导出,感谢您的帮助
标签: javascript node.js express middleware