如何将节点模块定义的快速路由传递给主 index.js 文件

How to pass node module defined express routes to main index.js file

例如,在我的 node_module 文件夹中,我有一个名为 project 的 npm,它有一些已定义的快速路线。例如,

var express = require('express');
var router = express.Router();

router.get('/', function (req, res, next) {
    res.render('indexPage', {title: 'Homepage'});
});

module.exports = router;

保存在 routes.js 文件中

如何在主节点项目文件 index.js 文件中访问它?

我尝试使用 require() 功能,但是,这不起作用。

将您的应用设置为 Express 应用后,然后添加您的路由中间件,如下所示。

我还为任何初学者添加了一些有用的代码部分(一个简单的 Express 应用程序):

// defining an express app
var express = require('express')
var app = express()
var server = require('http').Server(app)


// setting the express app - in case of needed
app.set('x-powered-by', false) // hide x-powered-by header!
app.set('view engine', 'ejs'); // set EJS as view engine!
app.set('views', __dirname + '/views'); // specifying the directory that contains view files

// THIS IS YOUR ANSWER PART
app.use(require('./routes'))
... 
... 
// Other middlewares
app.use(require('./middlewares/someMiddleware'))
// Catching 404 errors
app.use('*', function(req,res){
    res.status(404).send("URL not found.")
})
// Catching and evaluating the other errors 
app.use(require("./middlewares/errorHandler"))

server.listen(3001, function() {
    console.log('APP Server is listening HTTP port 3001')
})

一般最后路由是404错误。因此,如果请求在 404 之前未在任何路由中被捕获,则表示 "the page cannot found".

此外,errorHandler 中间件有 4 个参数(错误、请求、响应和下一个)。

因此,如果您在 routes.js 中遇到错误,并且如果您使用 next(err)routes 文件中发送此错误,则可以在 [=14] 上捕获此错误=]中间件。

这是每个人在开始开发 Express 应用程序时都需要的基本信息。

更多详情:
http://expressjs.com/en/guide/using-middleware.html

祝你好运...