我正在尝试使用hapi和handlebars模板引擎提供html文件我无法提供html呈现所需的静态文件,如css,images和js,当我使用url动态接受来自用户的动态html的一些参数文件呈现
此代码能够为html所需的静态文件提供正确加载的所有css和图像
const server = new Hapi.Server();
server.connection({
port: 3000,
host: 'localhost'
});
server.register(require('vision'),(err)=>{
Hoek.assert(!err, err);
server.views({
engines:{
'html': {
module: require('handlebars'),
isCached: false // engine specific
}
},
relativeTo:__dirname,
path:'./templates'
});
});
//inert module for serving files
server.register({
register: require('inert')
}, function(err) {
if (err) throw err
})
//path for the resources
server.route({
method: 'GET',
path: '/{file*}',
handler: {
directory: {
path:'./templates'
}
}
})
//static route for serving html
server.route({
method: 'GET',
path: '/handlebars',
handler: function (request, reply) {
reply.view('index');
}
});
但是当我更改静态网址以根据用户参数提供动态html文件时,它只提供html文件但不能提供iamges,js和css
上面的代码保持不变只有改变的是
server.route({
method: 'GET',
path: '/handlebars/{timername}',
handler: function (request, reply) {
hbtimername=encodeURIComponent(request.params.timername);
reply.view(hbtimername);
}
});
vs代码提供以下错误日志 错误:找不到文件的视图引擎:trans.gif at internals.Manager._prepare(C:\ Users \ quality_digital_2 \ Schedulerapi \ Schedulerapi \ node_modules \ vision \ lib \ manager.js:318:30) 在Object.internals.prepare(C:\ Users \ quality_digital_2 \ Schedulerapi \ Schedulerapi \ node_modules \ vision \ lib \ manager.js:599:13) 在internals.Response._processPrepare
和chrome dev控制台显示以下日志 GET http://localhost:3000/handlebars/trans.gif 500(内部服务器错误)
我正在做文件路由有什么问题我是新手到我尝试搜索的把手,还试图改变路由但没有运气