Javascript 如何使用Hapi.js提供静态HTML索引

Javascript 如何使用Hapi.js提供静态HTML索引,javascript,html,express,hapijs,Javascript,Html,Express,Hapijs,使用express.js,我可以做到这一点 var express = require('express'); var app = express(); var server = require('http').createServer(app); var io = require('socket.io')(server); var port = 9200; var path = require('path'); var options = { index: "html/index.

使用express.js,我可以做到这一点

var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io')(server);
var port = 9200;

var path = require('path');

var options = {
    index: "html/index.html"
};



app.use('/', express.static('res', options));
server.listen(port);
console.log("Listening on port " + port);
如何使用Hapi.js实现同样的功能

我也用inertjs做了一些尝试,但似乎找不到正确的方法。有人有这方面的经验吗

找到了实现此实现的方法,但我遇到了类型错误: TypeError:无法读取未定义的属性“register”

server.register(require('inert'), (err) => {

    if (err) {
        throw err;
    }

    server.route({
        method: 'GET',
        path: '/index',
        handler: function (request, reply) {
            reply.file('C:/blabla/html/index.html');
        }
    });
});
直接从

详细地说,您只需调用reply.file()

由于请求系统中的重大更改,这将不适用于hapi 17

server.route({
        method: 'GET',
        path: '/picture.jpg',
        handler: function (request, reply) {
            reply.file('/path/to/picture.jpg');
        }
    });

用Hapi@16.x.x及Inert@4.x.x用欧内斯特·琼斯的回答

对于将来处理此问题的任何人,我的全部变化如下:

const Hapi = require('hapi');
const Inert = require('inert');
const server = new Hapi.Server();

server.connection({port: 9200});


server.register(Inert, (err) => {

    if (err) {
        throw err;
    }

    server.route({
        method: 'GET',
        path: '/index',
        handler: function (request, reply) {
            reply.file('/res/html/index.html');
        }
    });
    server.route({
        path: "/res/{path*}",
        method: "GET",
        handler: {
            directory: {
                path: "./res",
                listing: false,
                index: false
            }
        }});


});
server.start();

我想是服务器。路由,我会试试。它是我索引的绝对路径吗?c:/users/username/webstormprojects/projectname/index.html??我想对您的项目根目录说,那里有您的package.json,但我不确定,您应该同时尝试这两种方法。。。并验证我的答案^^按照上面提到的方式进行操作会给我未经处理的承诺、拒绝和拒绝警告非常确定您使用的是hapi 17