javascript - 在 Express 中运行自定义模块

标签 javascript node.js express

我有一个名为 index.js 的文件,这是我的主文件。我还制作了一个名为 router.js 的文件用于路由。我正在尝试导入 router.js模块进入index.js文件并在 index.js 后立即运行它已运行。

这是 router.js 里面的代码:

const express = require('express')
const app = express()

app.get('/users',function(req,res,next){
    res.json([
        {id: 1, name: 'Jorge'},
        {id: 2, name: 'Emanuella'}      
    ])
})

这是我的 index.js文件:

const express = require('express')
const app = express()
const port = 5000
const router = require('./router')

app.listen(port, () => console.log(`App listening on port ${port}!`))

当我这样做时console.log(router) ,我得到一个空对象。

我希望路由器在 index.js 时运行开始工作。我怎样才能实现这个目标?

最佳答案

您必须从 router.js 中导出 app:

 module.exports = app;

此外,app 确实应该是一个 Express 路由器:

const app = express.Router(); 

关于javascript - 在 Express 中运行自定义模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58616184/

相关文章:

javascript - 从 jsVanilla 创建动态选择框

node.js - 错误 : request entity too large in graphql services of node

node.js - 包装异步方法以返回 promise (bluebird)

node.js - Node+Express 与 Apache 的视频传输性能

javascript - 在 .on() 点击事件中附加后选择器不起作用

javascript - 我怎样才能让它在弹出框中得到有效答案之前才开始

javascript - 两个代码编辑器拒绝并排坐着

javascript - 检查 node.js 中的实际文件类型

javascript - 如何在 Sails.js 中嵌入和编写 mongo 对象(不止一层深)?

node.js - Passport and JWT and Google Strategy - 谷歌回调后禁用 session 和 res.send()