Rea*_*son 2 url-parameters node.js express handlebars.js
我正在使用Express的把手模板引擎.点击没有参数的端点时,我的所有静态文件都会被提供.包含参数时不是这种情况.
app.engine('.hbs', hbs(handlebarsOptions));
app.set('view engine', '.hbs');
app.use(express.static('public'));
Run Code Online (Sandbox Code Playgroud)
这是我尝试使用的端点.
app.get('/projects/:name', function(req, res) {
if(req.params.name === 'batteryapp') {
res.render('project', {name: 'BatteryApp'});
}
});
Run Code Online (Sandbox Code Playgroud)
我已经看到一个示例,如果您使用res.sendFile()显然有效.但是,使用模板引擎时必须使用res.render().
听起来你没有使用/模板中静态资源的绝对URL(以a开头),所以它们是相对/projects/batteryapp而不是root 来请求的.
所以不是这样的:
<script src="js/app.js"></script>
Run Code Online (Sandbox Code Playgroud)
用这个:
<script src="/js/app.js"></script>
Run Code Online (Sandbox Code Playgroud)