我已经在论坛上看过并试图修复我能做的一切,但似乎仍无法让它发挥作用。我想使用路由器而不必使用app.get。我有另一个项目,我在做同样的事情,它工作得很好。所以我有点困惑为什么这个不起作用。非常感谢你。
这是我的app.js:
var express = require("express");
var app = express();
var indexRoutes = require("./routes/index.js");
app.use("view engine", "ejs");
app.use(express.static(__dirname + "/public"));
app.use("/", indexRoutes);
app.listen(process.env.PORT, process.env.IP, function() {
console.log("server started on port : " + process.env.PORT);
});
以下是我使用的路线:
var express = require("express");
var router = express.Router();
var multer = require("multer");
var storage = multer.diskStorage({
destination: function(req, file, callback) {
callback(null, './uploads');
},
filename: function(req, file, callback) {
callback(null, file.fieldname + '-' + Date.now());
}
});
var upload = multer({storage: storage}).single('userPhoto');
router.get("/", function(req, res) {
res.render("index");
});
router.post("/uploads", function(req, res) {
upload(req, res, function(err) {
if(err) {
return res.send("error uploading file");
}
res.end("file is uploaded");
});
});
module.exports = router;
答案 0 :(得分:0)
我认为你必须改变这一行:
app.use("/", indexRoutes);
用这个:
app.use(indexRoutes);
此处有更多信息:TypeError: Router.use() requires middleware function but got a Object
答案 1 :(得分:0)
这显然是不对的:
telnet.sendCommand((byte)(TelnetCommand.DONT | TelnetOption.ECHO));
应该是:
https://plnkr.co/edit/akJqmQPsA9cT0t2nrmWJ?p=catalogue
FWIW,如果你仔细查看伴随错误的堆栈跟踪,你会发现导致错误的$.getJSON("https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=500&type=restaurant&key=<API_KEY>&callback=?", function(data){
console.log("Data: " + data);
});
中的确切行:
app.use("view engine", "ejs");