当前位置: 首页 > 知识库问答 >
问题:

快车路径控制器模型存在的问题

毛正浩
2023-03-14

我有一个问题,为我的路线创建一个驱动程序。由于某些原因,它不识别mail()属性。

这是我的路线代码:

const express = require('express');
const router = express.Router();
const Ctrl = require('../controllers/index');

/* GET home page. */
router.get('/', Ctrl.list());

module.exports = router;

这是我的控制器的代码:

const express = require('express');

Ctrl = {}

Ctrl.list = (req, res) => {
   res.send("sended");
}

module.exports = Ctrl;

当我使用传统函数时也会发生同样的情况,这些函数不是箭头函数。

另一方面,这是我的express配置,其中配置的路由为:

const express = require('express');
const path = require('path');
const cookieParser = require('cookie-parser');
const logger = require('morgan');
const helmet = require('helmet');

const indexRouter = require('./routes/index');
const usersRouter = require('./routes/users');

const app = express();
require('./database/config');

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use(helmet());

app.use('/', indexRouter);
app.use('/users', usersRouter);

module.exports = app;

我得到这个错误:

E:\elArchivero\api\控制器\index.js: 6res.send("sended");^

类型错误:无法读取对象处未定义的属性发送。Ctrl.list(E:\elArchivero\api\控制器\index.js: 6:8)在Object。(E:\elArchivero\api\路由\index.js: 6:22)在Moules._compile(内部/模块/cjs/loader.js:959: 30)在Object.模块。_extensions... js(内部/模块/cjs/loader.js:995: 10)在Module.load(内部/模块/cjs/loader.js:815: 32)在函数。_load(内部/模块/cjs/loader.js:727: 14)在Module.require(内部/模块/cjs/loader.js:852: 19)在需要(内部/模块/cjs/helpers.js:74: 18)在对象。(E:\elArchivero\api\app.js: 7:21)在模块。_compile(内部/模块/cjs/loader.js:959: 30)[nodemal]应用程序崩溃-在启动前等待文件更改...

共有1个答案

姜景焕
2023-03-14

您需要将路由器更改为函数引用,而不是调用。

router.get ('/', Ctrl.list);

 类似资料:
  • 目前,我正在从Jersey迁移到Spring MVC,并需要提供相同的行为和功能。 在以前的情况下,我们有一个Jersey ContainerRequestFilter来注册Prometheus度量。度量包含资源方法的路径模板。例如:我的资源方法: 因此,在ContainerRequestFilter中,我们使用检索路径模板 明确地说,我不想获取requestUri(),而是匹配的endpoint

  • 在本节中,您将创建一个新的MoviesController类,并在这个Controller类里编写代码来取得电影数据,并使用视图模板将数据展示在浏览器里。 在开始下一步前,先Build一下应用程序(生成应用程序)(确保应用程序编译没有问题) 在解决方案上,用鼠标右键单击Controller文件夹,点击新增,再选择Controller。 在Scaffold新增对话框,选择MVC 5 Controll

  • 我有一个类似这样的Laravel结构: 以及API路线: 但POST请求http://domain.xx/api/register返回内部错误: 类App\Http\Controller\Api\Auth\RegsterController文件中不存在... 我试着指向“。。\认证\RegisterController@register“但我也犯了同样的错误: 类...文件中不存在注册控制器 它应

  • CodeIgniter 的开发基于 MVC(模型-视图-控制器)设计模式。MVC 是一种 用于将应用程序的逻辑层和表现层分离出来的软件方法。在实践中,由于这种分离 所以你的页面中只包含很少的 PHP 脚本。 模型 代表你的数据结构。通常来说,模型类将包含帮助你对数据库进行增删改查的方法。 视图 是要展现给用户的信息。一个视图通常就是一个网页,但是在 CodeIgniter 中, 一个视图也可以是一

  • 英文原文:http://emberjs.com/guides/controllers/representing-multiple-models-with-arraycontroller/ Ember.ArrayController用于代表一组模型。通过在路由的setupController方法中设置ArrayController的model属性,来指定其代表的模型。 可以将ArrayControl