当尝试升级到最新的happi .js (9.x)时,我们得到:错误:未知处理程序:目录

When attempting to upgrade to latest Hapi.js (9.x) we get: Error: Unknown handler: directory

本文关键字:我们 目录 错误 处理 未知 程序 最新 js happi      更新时间:2023-09-26

刚刚尝试更新到最新版本的happi .js,但directory处理程序出现错误…

我们使用happy .js在static-server.js中提供directory服务见:https://github.com/dwyl/learn-tdd/blob/5b132bfe5e1787b684ff44eadaf8b53438449323/static-server.js L3

directory处理程序在hapi 8中工作良好。但是在9.0.1中我们得到错误:

Error: Unknown handler: directory

我们已经尝试在happi .js路由API上搜索:http://hapijs.com/api#route-handler但没有找到directory处理器…它在最新版本中被删除了吗?"旧"版本的Hapi.js有:http://hapijs.com/api/8.8.1#route-handler

全栈跟踪:https://github.com/dwyl/learn-tdd/issues/22

惰性插件需要在版本9中手动包含(发行说明:https://github.com/hapijs/hapi/issues/2682)。使用server.register

将其添加为插件

按照https://www.npmjs.com/package/inert#examples上的说明操作例句:

var Hapi = require('hapi');
var Inert = require('inert');
var Path = require('path');
var server = new Hapi.Server();
var port = process.env.PORT || 8000;
server.register(Inert, function () {
  server.connection({ port: port });
  server.route( {
    method: 'GET',
    path: '/{param*}',
    handler: {
      directory: { path: Path.normalize(__dirname + '/') }
    }
  });
  server.start(function() { console.log('Visit: http://127.0.0.1:' +port)   });
});
相关文章: