Цель состоит в том, чтобы иметь такие маршруты - /names/A
для каждой буквы на всем протяжении Z. Вместо 26 html страниц для каждой буквы я хочу иметь одну динамическую c html страницу, которая отобразит информацию о письме в URL-адресе. Я пытаюсь сделать это с помощью koa
, koa-route
и koa-session2
.
Вот моя попытка, и она дает ошибку Cannot set property 'levelOneLetter' of undefined
, что означает, что ctx.session не определен в names.levelOne.
var Koa = require("koa");
var route = require("koa-route");
var session = require("koa-session2");
var routes = require("./routes/routes.js");
// dynamic routes
const names = {
levelOne: (ctx, letter) => {
ctx.session.levelOneLetter = letter;
console.log('letter', letter);
app.use(route.get('/names/' + letter, routes.levelOne));
}
};
app.use(route.get('/names/:letter', names.levelOne));
//in routes
module.exports.levelOne = function *() {
this.status = 200;
this.state.levelOneLetter = ctx.session.levelOneLetter;
this.body = yield renderView("names", "level-one", this.state);
};