很奇怪,我找不到任何示例。
我正在使用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);
};