我在vue js中构建了一个前端网站,现在我正在尝试在nodejs和hapijs中对后端进行编程。我试图定义把手视图引擎来加载vue构建文件。我想知道如何在服务器中使用hapi js渲染vue项目,Beacuse现在,我试图渲染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 ...
谢谢你的帮助!
我认为您遇到的问题是您在server.views({ ... })
注册时缺少“relativeTo”属性,而且您需要设置服务器以提供静态文件as outlined in the documentation here。值得注意的是,虽然hapi可以很好地提供静态文件,但让它在生产中完成它并不是一个好主意。我个人更喜欢创建一个nginx或apache规则来从匹配的assets目录中读取文件,因为它更高效。