因此,自从我使用节点以来一直很热闹,而且我一辈子都无法理解为什么它不起作用。
const body_parser = require("body-parser");
var express = require("express");
var app = express();
app.use("/", express.static(__dirname + "/Contents/"));
app.get("/", function(req, res) {
//Why wont this log to my terminal when a user visits the site?
console.log("log it pleaseeeeeeeeee");
});
app.listen(5004, () => {
console.log("server up and listening on port 5004");
});
每次用户访问该站点时,我都尝试将“ Log it Pleaseeeee”记录到运行我的nodejs应用程序的终端中。为什么不做这项工作?
答案 0 :(得分:1)
对于端点,您不能有2个单独的处理程序,在您的情况下为“ /”
要实现所需的功能,必须提供一个中间件函数。
express
将根据第二个参数的类型知道要做什么。 middleware 函数需要3个参数;最后一个是回调,因此它知道您何时准备就绪。
您应该通过将 get 函数移至app.use('/', ...)
函数中并包含如下所示的回调参数来更改代码:
const body_parser = require("body-parser");
var express = require("express");
var app = express();
app.use("/", function(req, res, callback) {
console.log("log it pleaseeeeeeeeee");
callback()
}, express.static(__dirname + "/Contents/"));
/** GET RID OF THIS
app.get("/", function(req, res) {
//Why wont this log to my terminal when a user visits the site?
console.log("log it pleaseeeeeeeeee");
});
*/
app.listen(5004, () => {
console.log("server up and listening on port 5004");
});