我正在使用shrinkroute https://npmjs.org/package/shrinkroute 在nodejs中创建链接。但是,我收到了500错误ReferenceError:shrinkr未定义。
如何将shrinkroute传递给routes / index.js?有没有更好的方法通过传递查询字符串参数来创建URL?
//app.js
var app = express();
var shrinkr = shrinkroute( app, {
"user": {
path: "/user/:id?",
get: routes.showOrListUsers
}
});
//url method works in app.js
var url = shrinkr.url( "user", { id: 5, page:40, type:'a' } );
console.log(url);
app.use( shrinkr.middleware );
//routes/index.js
exports.showOrListUsers = function(req, res, next) {
console.log(req.params);
//shrinkr errors out in index.js
var url2 = shrinkr.url( "users", {name: "foo"});
console.log(url2);
}
app.locals
设置应用程序本地变量会更符合惯用语。 - Yan Fotoapp.locals
的一个(轻微的)缺点是它会暴露给模板。 - robertkleproutes/index.js
中有很多处理程序,那该怎么办?你需要在每个函数中复制var shrinkr = req.app.get('shrinkr');
吗? - Avishay28