您好,我正在NodeJS下编写应用程序,但出现以下错误:
抛出新的TypeError('Router.use()需要一个中间件函数,但得到了一个'gettype(fn))^
TypeError: Router.use()需要一个中间件函数,但在Function.use(C:\User\decopiapo\restserver1221\node_modules\Express\lib\router\index.js:458: 13)在Function得到一个Object。(C:\User\decopiapo\restserver1221\node_modules\Express\lib\application.js:220: 21)在Array.for每个()在Function.use(C:\User\decopiapo\restserver1221\node_modules\Express\lib\application.js:217: 7)在Server.routes(C:\User\decopiapo\restserver1221\模型\server.js:58: 14)在新服务器(C:\User\decopiapo\restserver1221\模型\server.js:19: 14)在对象。(C:\User\decopiapo\restserver1221\app.js: 3:16)在模块。_compile(节点:内部/模块/cjs/loader: 1101:14)在对象。模块。_extensions... js(节点:内部/模块/cjs/loader: 1153:10)在Module.load(节点:内部/模块/cjs/loader: 981:32)[no恶魔]应用程序崩溃-在开始之前等待文件更改...
代码是:
const{Router}=require('express');
const{check}=require('express-validator');
const{login}=需要('.../控制器/auth');
const{validatefields}=require(“../middleware/validate fields”);
const router=router();
路由器。post(“/login”[
勾选(‘电子邮件’,‘电子邮件是必需的’)。isEmail(),
检查('密码','密码是强制性的'). not(). is空(),
验证字段
],
登录);
module.exports={路由器}
....
如果我将"module.exports={router}"更改为"module.exports=router",问题就会消失,但是如果我想导出一个常量或其他函数怎么办?
例子:
const{Router}=require('express');
const{check}=require('express-validator');
const{login}=需要('.../控制器/auth');
const{validatefields}=require(“../middleware/validate fields”);
康斯特·米瓦尔12321@as';
const router=router();
路由器。post(“/login”[
勾选(‘电子邮件’,‘电子邮件是必需的’)。isEmail(),
检查('密码','密码是强制性的'). not(). is空(),
验证字段
],
登录);
单元导出={router,myvar}
错误再次出现...
抛出新的TypeError('Router.use()需要一个中间件函数,但得到了一个'gettype(fn))^
类型错误:路由器。use()需要一个中间件函数,但在函数处得到了一个对象。使用
我怎样才能解决这个问题。有什么想法吗?
节点版本:v16。11.1-快速版:4.17.1
你可以随心所欲地导出它,问题是你如何要求和使用它。
检查服务器文件,如果按以下方式导出:
// some router
module.exports = {myRouter, myvar};
然后你需要这样使用它:
// app
app.use('/some-routes', someRoutes.myRouter);
或者,您可以在需要的步骤进行处理:
//app
const someRoutes = require('./routes/some-routes').myRouter;
//...
app.use('/some-routes', someRoutes);
我想将router.get()与sql查询中的查询分开,但我出现了这个错误,当我将direct函数声明为router.get()函数的参数时,它可以工作。 user.js UserQueries.js 错误:route.get()需要回调函数,但在route.(anonymous function)处获得[object Undefined](/Home/Antonio/AchaiAPI/Node_
我不知道为什么会出现这个错误,我有另一个模型和几乎相同的路由和控制器,但没有工作,这是消息:error:route.get()需要一个回调函数,但得到了一个[对象未定义]在路由。[as get](/users/ediechavero/documents/recipe-api/node_modules/express/lib/router/route.js:202:15),位于function.pr
问题内容: 我有一个变量,其日期格式为2015年4月25日。我正在尝试将其转换为以下内容: 但是我遇到了这个错误: 我该如何解决? 问题答案: 你有一个对象。该函数需要一个datetime对象。下面的代码需要你的转换的中间步骤的使用 此时,是日期时间对象。这意味着我们可以轻松地将其转换为任何格式的字符串。在您的特定情况下: 在现在是:
我试着按照教程angular.io(游览英雄)但不是教程,我试着在一些JSON上提出真正的GET请求。 我的代码如下所示: 为了服务,我只进口一些基本的东西: 其中是TOH中的基本副本,所以: 如何在服务中调用此特定方法:首先,我尝试多种方法,但在调试时,我只尝试控制台。将其记录为: 在控制台中加载页面时,我发现多个错误:第一个错误是: 例外:TypeError:这是一个错误。http。得到(…)
问题内容: 新版本的express中对中间件进行了一些更改,并且围绕该问题的其他一些帖子,我对代码进行了一些更改,但我束手无策。 我们已经事先进行了工作,但是我不记得发生了什么变化。 app.js 似乎由于版本控制原因,此问题的答案已更改。感谢Nik 问题答案: 如果您使用的是高于2.x的express,则必须像以下代码一样声明app.router。请尝试替换您的代码 与 谢谢 注意: app.r