【问题标题】:How to use nested-subfloders routing in nodejs express application?如何在 node js express 应用程序中使用嵌套子文件夹路由?
【发布时间】:2019-10-31 18:57:57
【问题描述】:

我正在使用 express 进行节点项目。我在路由文件夹中有一些文件夹,其中包括几个具有路由的 .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方法,但是效果不好。 Nodejs Express: Routes in separete files

我的文件夹结构是这样的:

-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 中要求它们。

【问题讨论】:

    标签: node.js express routes nested-routes module-export


    【解决方案1】:

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

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

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

    【讨论】:

    • 看来是你自己发现的!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-07
      相关资源
      最近更新 更多