如何在节点 js 快速应用程序中使用嵌套子文件夹路由?

How to use nested-subfloders routing in nodejs express application?

我正在使用 express 开发一个节点项目。我在 routes 文件夹中有一些文件夹,其中包含几个具有路由的 .js 文件。我想保持这种结构以保持我的代码整洁和清晰。如何整齐地要求app.js文件中的路由?

  1. 看到这个, https://github.com/searsaw/express-routing-example/blob/master/app.js, 我简单地尝试了:
const routes = require('./routes');
app.use('/', routes);

但它不起作用并使我的路线生效。

  1. 看到这里,我也尝试了require-dir方法,但还是不行。

我的文件夹结构如下:

-routes
    -admin
        -login.js
        -CRUD_event.js
        -CRUD_venue.js
     -client
         -login.js
         -CR_event.js
         -CR_venue.js

我不想弄乱我的 app.js 文件, 我知道所有的路线都可以单独要求,但这完全是只需要 app.js 中的代码。我想保留路由目录结构并以尽可能最优化的方式在 app.js 中要求它们。

我发现我哪里出错了。 这个https://github.com/searsaw/express-routing-example/blob/master/app.js其实已经说明了一切。 在路由文件夹中,有一个 index.js 文件需要并使用所有其他路由,然后将其导出。它完全解决了这个问题。

您需要在路由文件夹中创建一个 index.js 文件,因为您需要 app.js 中的文件夹,否则它不知道要查找哪个文件。在此文件 (index.js) 中,您需要为管理员和客户端指定路由,并根据需要要求它们。

https://github.com/searsaw/express-routing-example/blob/master/app.js中可以看到每个目录下都有一个index.js文件。

如果不想创建index.js文件,则应在require语句中指定文件名。