是否可以在Express(NodeJS)应用程序中使用不同的路径文件?

时间:2018-04-21 08:19:46

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

我是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进行身份验证时,此目录是否正确?

1 个答案:

答案 0 :(得分: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