使用了express.Router()模块后,就不能使用exports吗
时间: 2024-02-07 09:02:24 浏览: 29
使用了`express.Router()`模块后,可以使用`exports`,但是需要注意一些细节。
`express.Router()`返回一个新的路由器对象,可以使用该对象来定义路由处理程序。通常,我们会在一个单独的文件中定义路由器,并将其导出以供其他文件使用。
在这种情况下,我们可以使用`module.exports`导出路由器对象,例如:
```javascript
const express = require('express');
const router = express.Router();
router.get('/', (req, res) => {
res.send('Hello World!');
});
module.exports = router;
```
在这个例子中,我们定义了一个路由器对象,并添加了一个处理程序来处理`/`路径的请求。然后,我们使用`module.exports`将路由器对象导出,以便其他文件可以使用它。
需要注意的是,如果我们在使用`exports`时,需要将其指向`module.exports`对象,否则会导致路由器对象无法正确导出。例如:
```javascript
const express = require('express');
const router = express.Router();
exports = router; // 错误的写法
module.exports = router; // 正确的写法
```
因此,使用`express.Router()`模块后,可以使用`exports`,但是需要指向`module.exports`对象,否则会导致路由器对象无法正确导出。