我使用shrinkroute https://npmjs.org/package/shrinkroute在nodejs中創建鏈接。我得到錯誤500 ReferenceError:收縮未定義如何將變量從app.js傳遞給routes/index.js?
如何將shrinkroute傳遞到routes/index.js?有沒有更好的方式通過傳遞查詢字符串參數來創建網址?
//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'](http://expressjs.com/api.html#app。當地人)設置應用程序本地變量? –
@YanFoto是的,這是另一種選擇。使用'app.locals'的一個(輕微)缺點是它暴露給模板。 – robertklep