【问题标题】:Running a custom module in Express [duplicate]在 Express 中运行自定义模块 [重复]
【发布时间】:2020-02-25 05:02:26
【问题描述】:

我有一个名为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 开始工作时运行。我怎样才能做到这一点?

【问题讨论】:

    标签: javascript node.js express


    【解决方案1】:

    你必须导出 app 从 router.js:

     module.exports = app;
    

    另外,app 应该是一个 Express 路由器:

    const app = express.Router(); 
    

    【讨论】:

    • 我还会将导出的名称从应用程序更改为路由器。只是个人的事情,但我发现它有帮助
    • 我收到一条错误消息,提示 Cannot GET /users
    • 你必须安装路由器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-10
    相关资源
    最近更新 更多