首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将快速应用程序传递给路由文件

将快速应用程序传递给路由文件
EN

Stack Overflow用户
提问于 2016-09-11 02:16:38
回答 2查看 276关注 0票数 2

我正在编写一个无前端代码的快递4API服务器。我选择构造我的项目,以便文件夹结构基于项目的业务逻辑,而不是基于文件的类型(路由、模型等)。

例如,我的用户文件夹有我的userRoutes.js,userModel,js,userApi.js,.

我的主要问题是,我应该如何将应用程序传递到我的路径文件中?我最喜欢的方法是做global.app并使其全球化,但我听说这不是最佳实践。如果你对我的业务逻辑结构有任何建议的话,那就太好了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-11 02:34:29

首先,你的文件结构听起来太过火了.如果你需要这么多才能把事情干净利落,那就去做吧。但是,我有预感你做得太过分了。

无论如何,我通常做的是从每个模块返回中间件。如果您愿意,可以为每个中间件提供自己的Express路由器。在模块中:

代码语言:javascript
复制
const express = require('express');

module.exports = function (config) {
  const router = new express.Router();

  router.get('/something', (req, res) => {
    // Code here
  });

  return router;
}

然后在您的主要应用程序中:

代码语言:javascript
复制
const somethingHandler = require('somethingHandler.js');

app.use(somethingHandler);

这与所有其他Express中间件模块的工作方式是一致的.这还允许您按路径使用命名空间模块,在主应用程序中调用app.use()

票数 1
EN

Stack Overflow用户

发布于 2016-09-11 02:26:46

您必须要求快速应用程序或通过导出请求函数传递到路由文件,如:

代码语言:javascript
复制
var app = require('express');
var userRoutes= require('your route path')(app);

我认为全局变量不是个好主意。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39432247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档