【问题标题】:Is it possible to have different route files in Express (NodeJS) app?Express(NodeJS)应用程序中是否可以有不同的路由文件?
【发布时间】:2018-10-01 21:17:45
【问题描述】:

我是NodeJS 初学者,我正在使用express。我的目录是这样的:

    __app
    |_assets
    |_controllers
        |_somemodel.controller.js

    |_models 
        |_somemodel.model.js
        |_user.model.js

    |_routes
        |_route.js
        |_passport.routes.js 
        |_somemodel.routes.js

    |_views
        |_note 
            |_index.ejs

        |_passport
            |_index.ejs
            |_login.ejs
            |_profile.ejs
            ...

__config
    |_database.config.js
    |_passport.config.js

__node_modules

package.json
server.js

我想知道的是,是否有可能拥有一个通用路由文件,然后在其中包含或需要其他路由文件?喜欢我的route.js 吗? 使用ExpressPassport 作为身份验证时,此目录是否正确?

【问题讨论】:

  • 有一个文件,其唯一目的是创建const app = express() 并导出它。在路由定义文件中导入此模块。然后在“主”文件中执行其他所需的配置步骤(并导入路由定义)

标签: node.js express routing directory passport.js


【解决方案1】:

是的,您可以将其他路由文件要求放入一个通用文件中,如下所示。

somemodel.contoller.js

module.exports.someMethod = (req, res) => {
  // do something
}

somemodel.routes.js

const controller = require("path-to-somemodel-controller")

module.exports = (app) {
  app.route("/somepath")
    .get(controller.someMethod)
     // other methods
}

route.js

 // you need to parse the app into route module
  module.exports = (app) => {
    require('somemodel.routes')(app);
    // others goes here
  }

server.js

const app = express();
require('path-to-route.js')(app

)

【讨论】:

    猜你喜欢
    • 2019-01-24
    • 2020-10-17
    • 2020-11-19
    • 1970-01-01
    • 2023-02-17
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多