使用Hapi时如何将路由存储在单独的文件中?

百夫长

所有的Hapi示例(以及Express中的类似示例)都显示了在起始文件中定义了路由:

var Hapi = require('hapi');

var server = new Hapi.Server();
server.connection({ port: 8000 });

server.route({
  method: 'GET',
  path: '/',
  handler: function (request, reply) {
    reply('Hello, world!');
  }
});

server.route({
  method: 'GET',
  path: '/{name}',
  handler: function (request, reply) {
    reply('Hello, ' + encodeURIComponent(request.params.name) + '!');
  }
});

server.start(function () {
  console.log('Server running at:', server.info.uri);
});

但是,不难想象当使用大量不同的路线实施生产应用程序时,此文件可以增长到多大。因此,我想分解路由,将它们分组并存储在单独的文件中,例如UserRoutes.js,CartRoutes.js,然后将它们附加到主文件中(添加到服务器对象)。您如何建议将其分开然后添加?

鄂尔多斯语

您可以为用户路线(config/routes/user.js创建一个单独的文件

module.exports = [
    { method: 'GET', path: '/users', handler: function () {} },
    { method: 'GET', path: '/users/{id}', handler: function () {} }
];

与购物车类似。然后在config/routesconfig/routes/index.js)中创建一个索引文件

var cart = require('./cart');
var user = require('./user');

module.exports = [].concat(cart, user);

然后,您可以将此索引文件加载到主文件中并调用server.route()

var routes = require('./config/routes');

...

server.route(routes);

或者,config/routes/index.js而不是添加路径文件(例如cartuser)手动,可以动态加载它们:

const fs = require('fs');

let routes = [];

fs.readdirSync(__dirname)
  .filter(file => file != 'index.js')
  .forEach(file => {
    routes = routes.concat(require(`./${file}`))
  });

module.exports = routes;

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将文件中的单词存储在单独的变量中?

来自分类Dev

将插件选项注入到单独文件中定义的 Hapi 路由处理程序的模式

来自分类Dev

如何将Koa路由拆分为单独的文件?

来自分类Dev

如何将CSV文件中的int值存储在单独的二维数组元素中

来自分类Dev

如何将选定列的值存储在单独的行中?

来自分类Dev

取消 Vue.js 时如何将吐司消息放在单独的文件中

来自分类Dev

如何将变量存储在文件中?

来自分类Dev

使用make将目标文件存储在单独的目录中

来自分类Dev

如何将存储在json文件中的td类存储到html表中(使用Ajax)

来自分类Dev

如何将Hy代码包含在单独的文件中,然后使用Hy导入该代码?

来自分类Dev

如何将jquery放在单独的文件中?

来自分类Dev

如何将界面放在单独的文件中?

来自分类Dev

如何将多个文件压缩到单独的档案中?

来自分类Dev

如何将jquery放在单独的文件中?

来自分类Dev

如何将Ionic 2 Modal放在单独的文件中?

来自分类Dev

如何将字典变量放在单独的 swift 文件中?

来自分类Dev

当 MenuItem 具有自定义 ControlTemplate 并在单独的 XAML 文件中定义时,如何将 MenuItem 与子 MenuItems 一起使用?

来自分类Dev

如何将pdf文件存储在Google云存储中?

来自分类Dev

循环文件时如何将所有答案存储在数组中

来自分类Dev

如何使用 for 循环将函数输出存储在单独的变量中?

来自分类Dev

将机密(密码)存储在单独的文件中

来自分类Dev

C ++将数组存储在单独的文件中

来自分类Dev

如何将 mongodb 信息返回到 hapi.js 路由处理程序中的浏览器?

来自分类Dev

如何将列表列表中的值存储到python中的单独列表中?

来自分类Dev

如何将单独的分区作为文件夹永久安装在单独的主分区中?

来自分类Dev

如何将列表中的数据存储在.csv文件中?

来自分类Dev

如何将CSV文件中的行存储在字典中?

来自分类Dev

在 Ansible 中,如何将传入的 json 存储在文件中?

来自分类Dev

如何将商店注入到组件中(使用本地存储适配器时)

Related 相关文章

  1. 1

    如何将文件中的单词存储在单独的变量中?

  2. 2

    将插件选项注入到单独文件中定义的 Hapi 路由处理程序的模式

  3. 3

    如何将Koa路由拆分为单独的文件?

  4. 4

    如何将CSV文件中的int值存储在单独的二维数组元素中

  5. 5

    如何将选定列的值存储在单独的行中?

  6. 6

    取消 Vue.js 时如何将吐司消息放在单独的文件中

  7. 7

    如何将变量存储在文件中?

  8. 8

    使用make将目标文件存储在单独的目录中

  9. 9

    如何将存储在json文件中的td类存储到html表中(使用Ajax)

  10. 10

    如何将Hy代码包含在单独的文件中,然后使用Hy导入该代码?

  11. 11

    如何将jquery放在单独的文件中?

  12. 12

    如何将界面放在单独的文件中?

  13. 13

    如何将多个文件压缩到单独的档案中?

  14. 14

    如何将jquery放在单独的文件中?

  15. 15

    如何将Ionic 2 Modal放在单独的文件中?

  16. 16

    如何将字典变量放在单独的 swift 文件中?

  17. 17

    当 MenuItem 具有自定义 ControlTemplate 并在单独的 XAML 文件中定义时,如何将 MenuItem 与子 MenuItems 一起使用?

  18. 18

    如何将pdf文件存储在Google云存储中?

  19. 19

    循环文件时如何将所有答案存储在数组中

  20. 20

    如何使用 for 循环将函数输出存储在单独的变量中?

  21. 21

    将机密(密码)存储在单独的文件中

  22. 22

    C ++将数组存储在单独的文件中

  23. 23

    如何将 mongodb 信息返回到 hapi.js 路由处理程序中的浏览器?

  24. 24

    如何将列表列表中的值存储到python中的单独列表中?

  25. 25

    如何将单独的分区作为文件夹永久安装在单独的主分区中?

  26. 26

    如何将列表中的数据存储在.csv文件中?

  27. 27

    如何将CSV文件中的行存储在字典中?

  28. 28

    在 Ansible 中,如何将传入的 json 存储在文件中?

  29. 29

    如何将商店注入到组件中(使用本地存储适配器时)

热门标签

归档