我在vue js中建立了一个前端网站,现在我正在尝试编程 后端,在nodejs和hapijs中。 我试图定义车把视图引擎来加载vue构建文件。 我想知道如何使用hapi js在服务器中渲染vue项目, 因为现在,我尝试呈现vuejs的内置索引,并在不包含js和css文件的情况下将其加载,并且我不了解如何使用所有静态内容加载该文件。
我尝试过的:
await server.register([require('hapi-auth-basic'), require('vision')]);
server.views({
engines: {
html: require('handlebars')
},
path: './views',
layout: true
})
server.route({
method: 'GET',
path: '/',
handler: (request, h) => {
console.log(request.auth.credentials);
return h.view('index');
}
});
因此,它向我显示了页面标题,但所有其他文件均得到禁止响应。
结构: 服务器 ->意见 -> index.html 静态的 -> css / js / img / fonts ...
感谢您的帮助!
答案 0 :(得分:0)
我认为您遇到的问题是,您在server.views({ ... })
注册中缺少“ relativeTo”属性,此外,还需要设置服务器以提供静态文件as outlined in the documentation here。值得注意的是,虽然hapi可以很好地处理静态文件,但让它在生产环境中执行并不是一个好主意。我个人更喜欢创建nginx或apache规则,以便在匹配时从资产目录中读取文件,因为它的性能更高。