hapi视图(vision)-如何使用compileMode异步

时间:2018-08-08 11:13:00

标签: node.js hapijs vision

很奇怪,我找不到任何示例。

我正在使用Hapi视图(“视觉”)和ejs。

我希望我的compileMode异步,但是由于某种原因无法使它正常工作。如果compileMode是同步的,则可以正常工作;如果是async,则页面将继续加载,然后超时。

我目前正在官方git repo(https://github.com/hapijs/vision)上测试该示例。我通过添加一个compileMode: 'async'选项来修改它

const rootHandler = (request, h) => {

    const relativePath = Path.relative(`${__dirname}/../..`, `${__dirname}/templates/${internals.templatePath}`);

    return h.view('index', {
        title: `Running ${relativePath} | Hapi ${request.server.version}`,
        message: 'Hello Handlebars!',
        year: internals.thisYear
    });
};

internals.main = async () => {

    const server = Hapi.Server({ port: 3000 });

    await server.register(Vision);

    server.views({
        engines: { html: Handlebars },
        relativeTo: __dirname,
        path: `templates/${internals.templatePath}`,
        compileMode: 'async' // << this was added by me
    });

    server.route({ method: 'GET', path: '/', handler: rootHandler });

    await server.start();
    console.log('Server is running at ' + server.info.uri);
};

0 个答案:

没有答案