Я очень новичок в машинописи / javascript, я пытаюсь создать бэкэнд остальных API с session
следующим является app.ts файл
import express from "express";
import { applyMiddleware, applyRoutes } from "./utils";
import routes from "./services";
const app = express();
var ses= {
secret: "secret_session",
resave: true,
saveUninitialized: true,
cookie: { maxAge: 3600000,secure: false, httpOnly: true
}
if (app.get('env') === 'production') {
app.set('trust proxy', 1)
ses.cookie.secure = true
}
app.use(session(ses));
applyRoutes(routes, app);
Я запустил сервери применил промежуточное ПО для error handling
, но, на мой взгляд, оно не связано с вопросом, поэтому я не добавляю код для него. Ниже приведен мой код rout.ts , в котором я пытаюсь установить сеанс.
import { Request, Response } from "express";
import { getAll, getByKeyword, addNewProduct } from "./productControllers";
{
path: "/api/v1/getAllProducts",
method: "get",
handler: [
(req: Request, res: Response) => {
getAll()
.then((row: any) => {
var sess = req.session;
sess.views = 1;
res.status(200).json({ data: row });
})
.catch(err => {
res.json({
message: err
});
});
}
]
}
Я получаю сообщение об ошибке по адресу sess.views = 1;
Я пытался ответить на предложенные вопросы, прежде чем задавать его, никто из них не помогмне.
РЕДАКТИРОВАТЬ: Я создал index.ts
import searchRoutes from "./products/routes";
export default [...searchRoutes];
У меня есть другой класс утилит
export const applyRoutes = (routes: Route[], router: Router) => {
for (const route of routes) {
const { method, path, handler } = route;
(router as any)[method](path, handler);
}
}