如何 app.use() 在 nodeJS 中有一些其他 app.use() 的文件

迪米姆

所以乍一看可能听起来很棘手。我将解释我真正想做的事情:我正在使用 NodeJS 和 expressJS 并且我正在尝试对项目进行模块化,这是我想做的事情:让我们说我在主服务器 .js 文件中将 router.get/post/put/delete 等拆分为每种类型的其他文件:例如:

...
app.use(require('./routes/account_method1.js'));
app.use(require('./routes/account_method2.js'));
app.use(require('./routes/games_method1.js'));
app.use(require('./routes/games_method3.js'));
app.use(require('./routes/emails_method5.js'));
...

我执行得非常简单:我只是在主 .js 文件和我刚刚放置的所需文件中使用了上面提到的代码:

module.exports = router;

差不多就是这样。但问题是:现在我想做一些类似的事情:

...
app.use(require('./routes/account/panel.js'));
app.use(require('./routes/games/panel.js'));
app.use(require('./routes/emails/panel.js'));
...

并且在每个 ./routes/x/panel.js 文件中都有需要的特定 .js 文件,仅举个例子在 ./routes/account.panel.js 我想有和工作:

app.use(require('./account_method1.js'));
app.use(require('./account_method2.js'));

假设account_method1.js 和account_method2.js 与特定的panel.js 文件在同一目录下。然后,在主服务器.js 文件中需要这些panel.js 文件。

所以如果现在我有:

 Server ---> ./routes/account_method1.js
        ---> ./routes/account_method2.js

我想做到:

 Server ---> ./routes/account/panel.js ---> ./routes/account_method1.js
                                            ./routes/account_method2.js

我不会在这里粘贴任何代码,因为这只是导入文件方式的问题,而且我已经提到我如何在主服务器上要求我的 .js 文件。

苏……你怎么看?

编辑 :

我想会告诉你问题出在哪里:

./routes/test.js (这个文件必须添加到应用程序另一个文件,register.js)

 const express = require('express');
 const router = express.Router();

 console.log("BEFORE ROUTER.USE");
 router.use(require('./register.js'));
 console.log("AFTER ROUTER.USE");

module.exports = router;

./app.js(主 .js 服务器文件)

 ....
 var test = require('./routes/test.js');
 app.use(test);
 ....

./routes/register.js

 const express = require('express');
 const router = express.Router();
 ...
 //some router.post / get / delete 
 ...
 module.exports = router;

当我尝试访问该 register.js 文件中的 URL 时,它们不起作用

巴托3

更好的方法是使用路由器

例如: controller/api.js

const express = require('express')
const router = express.Router()

  router.get('/', function(req, res) {
      //console.log(res.apiData);
      res.json({message:'ok'});
  });

  module.exports = router;

然后

app.use('/api', require('controller/api'))

路由器可以导入到另一个路由器。我在用这个:

主要.js:

app.use(require('./controller'));

控制器/index.js:

const express = require('express')
const router = express.Router()
const isAuth = require('../middlewares/is-auth')
const isValidApiKey = require('../middlewares/is-api-key')
const isAdmin = require('../middlewares/is-admin')

router.use('/auth', require('./auth'));
router.use('/profile', isAuth, require('./profile'));
router.use('/api', isValidApiKey, require('./api'));
router.use('/admin', isAuth, isAdmin, require('./admin'))

如果请求服务代码很长,也可以移到一个单独的文件中,但我认为最好把它分成更小的、可重用的部分,作为中间件使用,例如:

route.all('/:orderId(\\d+)', fileOrderMiddleware,  fileAltMiddleware, hasTransferMiddleware, orderServeMiddleware);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 nodejs 中使 app.use 同步

来自分类Dev

如何使用Angular app.js文件运行NodeJS API?

来自分类Dev

使用app.use在sails.js中设置一些路线

来自分类Dev

使用app.use在sails.js中设置一些路线

来自分类Dev

如何使用头文件中还具有其他一些功能的结构?

来自分类Dev

如何异步并行执行多个app.use调用?

来自分类Dev

如何修复中间件功能错误app.use

来自分类Dev

Xcode:如何生成.app文件?

来自分类Dev

如何在NodeJS的其他模块中访问app.locals?

来自分类Dev

向ExpressJS app.use()添加一个异常

来自分类Dev

app.use和app.get与express.static有什么区别?

来自分类Dev

app.post 有效,但 app.use 无效。快速节点

来自分类Dev

在每个文件中快速设置app.use中间件?

来自分类Dev

iOS App评论:其他文件?

来自分类Dev

Use Tinytest to test a Meteor app without making the app it into a package

来自分类Dev

Silex服务-$ app参数还是“ use($ app)”语句?

来自分类Dev

结合app.createServer和app.use

来自分类Dev

app.use()和app.get()之间的路径不同

来自分类Dev

app.use(“ *”)似乎多次调用函数

来自分类Dev

如何在其他计算机上的文件中写入一些文本

来自分类Dev

如何在Heroku PHP App中指定其他php文件?

来自分类Dev

如何将状态和道具从 app.js 传递到其他文件?

来自分类Dev

如何在快速后端 server.js 文件中设置一些值并在 create-react-app 代码中使用它?

来自分类Dev

如何更改Aurelia-App查找的文件?

来自分类Dev

如何转义[在app.config文件中?

来自分类Dev

如何查找Mac App的Realm文件位置

来自分类Dev

如何分开App和BackgroundTask的FileLoggingSession文件?

来自分类Dev

如何查找Mac App的Realm文件位置

来自分类Dev

升级NodeJS App

Related 相关文章

  1. 1

    如何在 nodejs 中使 app.use 同步

  2. 2

    如何使用Angular app.js文件运行NodeJS API?

  3. 3

    使用app.use在sails.js中设置一些路线

  4. 4

    使用app.use在sails.js中设置一些路线

  5. 5

    如何使用头文件中还具有其他一些功能的结构?

  6. 6

    如何异步并行执行多个app.use调用?

  7. 7

    如何修复中间件功能错误app.use

  8. 8

    Xcode:如何生成.app文件?

  9. 9

    如何在NodeJS的其他模块中访问app.locals?

  10. 10

    向ExpressJS app.use()添加一个异常

  11. 11

    app.use和app.get与express.static有什么区别?

  12. 12

    app.post 有效,但 app.use 无效。快速节点

  13. 13

    在每个文件中快速设置app.use中间件?

  14. 14

    iOS App评论:其他文件?

  15. 15

    Use Tinytest to test a Meteor app without making the app it into a package

  16. 16

    Silex服务-$ app参数还是“ use($ app)”语句?

  17. 17

    结合app.createServer和app.use

  18. 18

    app.use()和app.get()之间的路径不同

  19. 19

    app.use(“ *”)似乎多次调用函数

  20. 20

    如何在其他计算机上的文件中写入一些文本

  21. 21

    如何在Heroku PHP App中指定其他php文件?

  22. 22

    如何将状态和道具从 app.js 传递到其他文件?

  23. 23

    如何在快速后端 server.js 文件中设置一些值并在 create-react-app 代码中使用它?

  24. 24

    如何更改Aurelia-App查找的文件?

  25. 25

    如何转义[在app.config文件中?

  26. 26

    如何查找Mac App的Realm文件位置

  27. 27

    如何分开App和BackgroundTask的FileLoggingSession文件?

  28. 28

    如何查找Mac App的Realm文件位置

  29. 29

    升级NodeJS App

热门标签

归档