(Sails.js)
如何忽略favicon浏览器请求并获取我想要的ID?
router.js
'GET /:id': 'UrlController.findOne'
UrlController.js
/**
* `UrlController.findOne()`
*/
findOne: function (req, res) {
var id = req.param('id');
console.log(id);
Url.findOne({where: {id: id}}).exec(function(err, url) {
return res.redirect(url.target);
})
},
如何在路由之前简单地优先考虑静态文件?
答案 0 :(得分:0)
在该路线返回404之前为/favicon.ico
创建一条额外的路线(或者可能是一个奇特的图标)。
或者你选择的库可能支持路由参数的正则表达式过滤器,你可以设置一个只根据长度,字符等匹配有效ID的假设,假设你的ID有某种格式。
您也可以通过在页面中放置<meta>
元素来告知浏览器在其他地方查找图标来取消请求。
答案 1 :(得分:0)
我找到了一个更优雅的解决方案:
变化:
router.js
'GET /:id': 'UrlController.findOne'
要:
'GET /:id': {
controller: "UrlController",
action: "findOne",
skipAssets: true
},
还要感谢所有人指导我找到解决方案。
答案 2 :(得分:0)
使用serve-favicon将创建一条路线,从而阻止404.
app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));