快速-试图模仿控制器.Get Router.use()需要回调函数,但出现了[object String]错误
Express - Trying to imitate controllers. Got Router.use() requires callback functions but got a [object String] error
我正在尝试在Node.js和Express框架中创建控制器。我已经创建了app.js
、routes/index.js
和controller/index.js
。
以下是每个文件的代码:
var express = require("express"),
path = require("path"),
indexRoutes = require("./routes/index");
var app = express();
app.use("view engine", "ejs");
app.use("views", path.join(__dirname, "views"));
app.use("/", indexRoutes);
var port = process.env.PORT || 3000;
app.listen(port, function() {
console.log("listening to port " + port);
});
和routes/index.js
:
var express = require("express");
var controller = require("../controller/index");
var router = express.Router();
router.get("/", controller.index);
router.get("/list", controller.list);
module.exports = router;
和controller/index.js
:
var indexController = {
index: function(req, res) {
res.send("index action");
},
list: function(req, res) {
res.send("list action");
}
}
module.exports = indexController;
当我运行服务器时。我在我的终端中收到这个错误:
Error: Router.use() requires callback functions but got a [object String]
at Function.proto.use (/media/misc/www/expself/node_modules/express/lib/router/index.js:327:11)
at Function.app.use (/media/misc/www/expself/node_modules/express/lib/application.js:195:16)
at Object.<anonymous> (/media/misc/www/expself/app.js:7:5)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3
有什么帮助吗?我是node.js 的初学者
这些:
app.use("view engine", "ejs");
app.use("views", path.join(__dirname, "views"));
应为:
app.set("view engine", "ejs");
app.set("views", path.join(__dirname, "views"));
app.use()
仅适用于中间件。
相关文章:
- 如何将一个JavaScript函数回调为多个函数
- Meteor:异步函数回调异常:onAfterAction
- 从类方法中的 ajax post 函数回调函数更改 javascript 类属性
- jQuery动画函数回调错误
- jquery在html属性中添加函数回调,以便在其他事件中调用
- jquery getjson 函数:回调返回错误的字符串
- postMessage - 多个 postMessage 事件/函数/回调
- 在 Promise 调用的错误函数回调后附加对象的用法是什么
- 单击事件后的 JavaScript 函数回调
- 设置超时函数回调静态变量
- Jquery UI 模式匿名函数回调以打开对话框
- 函数回调、局部变量和 chrome.storage.sync.get
- Jquery Ajax 没有拾取选项参数中指定的函数回调
- 如何在 javascript 中进行函数回调
- 用函数回调封装JavaScript
- jQuery JavaScript嵌套异步函数回调
- Node.js-匿名函数回调
- 函数回调超出范围
- php代码的Javascript函数回调
- 如何使用函数回调在更改时提交表单