Javascript 在Express中运行自定义模块

Javascript 在Express中运行自定义模块,javascript,node.js,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, nam

我有一个名为
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
应该是真正的快速路由器:

const app = express.Router(); 
您必须从router.js导出
app

 module.exports = app;
另外,
app
应该是真正的快速路由器:

const app = express.Router(); 

我还会将导出的名称从应用程序更改为路由器。这只是一个私人问题,但我发现它很有用。我收到一个错误,说
无法获取/users
您必须安装路由器。我还将把导出的名称从应用程序更改为路由器。这只是个人的事情,但我发现它有帮助。我收到一个错误,说
无法获取/users
你必须安装路由器。