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

在Nodejs的路由器文件中公开与创建对象

谢雅珺
2023-03-14

...
var passport=require(“passport”);
var router=require(“./app/routes.js”)(passport);//将不工作
app.use('/',路由器);
app.listen(8080);

routes.js文件:

...
var express=require(“express”);
var router=express.router();//expressjs 4.0中的新功能
//路由在此处
module.export=路由器;

共有1个答案

施锋
2023-03-14

您可以将router.js包装在一个函数中,该函数接受passport对象作为参数,并且还处理路由器的实例化。然后,module.export该函数而不是只输出路由器。

编辑:包括示例

server.js:

var passport = require('passport');
var router = require('./app/routes')(app, passport);
app.use('/', router);
app.listen(8080);
var express = require('express');
module.exports = function(app, passport){

   var router = express.Router();

   // routes go here
   // do stuff with passport

   return router;

}
 类似资料:
  • 本文向大家介绍轻松创建nodejs服务器(4):路由,包括了轻松创建nodejs服务器(4):路由的使用技巧和注意事项,需要的朋友参考一下 服务器需要根据不同的URL或请求来执行不一样的操作,我们可以通过路由来实现这个步骤。 第一步我们需要先解析出请求URL的路径,我们引入url模块。 我们来给onRequest()函数加上一些逻辑,用来找出浏览器请求的URL路径: 好了,pathname就是请求

  • 我试着用protage软件打开它。会打开的。但是,里面没有类可以看到。为了在Protage中查看我生成的本体,我需要在这段代码中更改哪些内容?

  • 我在PHP中使用fputcsv创建了一个CSV文件。文件创建成功,我可以在MacOS中打开文件,没有问题。(我在MacOS中使用数字)。问题是在微软的Excel中,它将所有行显示为合并的一列。 我在代码中将分隔符设置为“;”。 当我按照Microsoft文档中的说明检查语言和区域设置时,分隔符也是“;”。 我还应该检查什么?非常感谢。

  • Blade 中注册路由有 2 种方式,一种是使用 Blade 对象硬编码注册,另一种是通过控制器来管理多个路由。 在前面的 main 函数中我们使用第一种方式注册了一个路由。 上面的写法看起来是很简洁的,也用到java8的语法,但是一般我们编写一个站点的时候会有很多的路由,都放在一个文件中不是很好管理,这时候 Blade 支持你沿用 SpringMvc 的编程习惯,我们可以编写一个控制器,在你的

  • 使用terraform v0。12.21和AWS供应商v2。51.0,我正在尝试从头开始创建一些基础设施(没有以前的地形状态)。 我们的目标是在一个VPC中拥有一些可公开访问的EC2实例,我认为这些是实现这一目标所需的资源: VPC VPC中的互联网网关 VPC中的子网 VPC中连接子网到Internet网关的路由表 将子网连接到路由表的路由表关联 VPC中的安全组,将为实例设置 多个EC2实例

  • 我们团队决定尝试使用OpenShift Origin server部署服务。我们有一个单独的虚拟机,安装了OpenShift原始服务器,运行良好。我能够部署我们的本地docker映像,这些服务也运行良好——pod已启动并运行,获得了自己的IP,我可以从虚拟机访问服务endpoint。 问题是我无法让它工作,所以服务暴露在机器之外。我读到了路由器,它被认为是公开服务的正确方式,但它只是不起作用,现在