我正在使用Express的把手模板引擎。点击没有参数的端点时,我的所有静态文件都会被提供。当包含参数时不是这种情况。
app.engine('.hbs', hbs(handlebarsOptions));
app.set('view engine', '.hbs');
app.use(express.static('public'));
这是我尝试使用的端点。
app.get('/projects/:name', function(req, res) {
if(req.params.name === 'batteryapp') {
res.render('project', {name: 'BatteryApp'});
}
});
我看过一个示例,如果你使用res.sendFile()显然有效。但是,使用模板引擎时必须使用res.render()。
答案 0 :(得分:6)
听起来你没有使用模板中静态资源的绝对URL(以/
开头),因此相对于/projects/batteryapp
而不是根目录请求它们。
所以不要这样:
<script src="js/app.js"></script>
使用此:
<script src="/js/app.js"></script>