使用Express中的参数在URL上提供静态文件
我正在使用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()。
这听起来像你没有使用模板中的静态资源的绝对URL(以/
开头),所以他们被请求相对于/projects/batteryapp
而不是根。
所以不是这样的:
<script src="js/app.js"></script>
用这个:
<script src="/js/app.js"></script>
- 使用SailsJS / Express将请求与对象保存在内存中
- 如何用NodeJS的bodyparser将Google的GWT请求体读入stringvariables?
- 在ExpressJS / ConnectJS中间件内部访问“app”variables?
- 错误:在sailsJs中间件中发送后无法设置标题
- angular度不显示创build的对象,直到我刷新页面
- grunt-express livereloadconfiguration
- 使用passport-google-oauth2与Facebook和Google进行身份validation
- 我如何强制删除会话ID cookie与快速会议?
- Socket.io不适用于我的节点/快速应用程序