170 похожих чатов

Здравствуйте! Использую koa, подскажите, пожалуйста, как мне добиться переопределение роутов? Например, есть

core, в котором что-то такое:

const Router = require("koa-router");
const router = new Router();

router
.get("/", async (ctx, _next) => {
ctx.successResponse("true");
})

module.exports = router;

Есть следующий файл, который импортит этот core, в котором я хочу поменять респонс

const router = require("./core.js");

router
.get("/", async (ctx, _next) => {
ctx.successResponse("false");
})

module.exports = router;

12 ответов

22 просмотра

Могу предложить создать новый роутер и не использовать просто роутер от core.js Либо у koa есть что-то типо ctx.respond = false, который позволяет не отдавать ответ за тебя. Попробуй его применить, а во втором случае уже нормально тело отдать

Пользователь-6100a Автор вопроса

Проблема в том, что в core есть множество роутов (как и те, которые нужно переопределять), которые я не могу трогать, тк в других местах они должны отдавать то, что должны А в некоторых местах, мне нужно отдавать другие данные(

Напиши свой роутер

В коа нельзя так делать

я тебе предлагаю такое: хранить не готовый роутер, а готовые middleware просто и вставлять их ровно там где надо либо же создать кучу роутеров и через use подключать их, если требуется реализация по-умолчанию

могу предложить создать свой класс и отфильтровать роуты как хочешь https://pastebin.com/gjJpwBKP При добавлении роута через router.get() он попадает в this.stack. Ты можешь отфильтровать его по уникальности. И тогда проблем не должно быть Либо в роутер можно добавить в конец объект с опциями. Можно будет завязаться попробовать на этом объекте. Добавлять что-то типо unique: true/false и по нему только отсекать. Ну короче дерзай)

Пользователь-6100a Автор вопроса

Вот уже как раз думаю об этом, но уже с утра, а то вообще на элементарных вещах поплыл Всем большое спасибо!

из говна и палок сделал. Вроде работает) https://pastebin.com/EzEyt5pi Если указал имя для роута "default", то будет фильтровать, а если нет имени, то и не трогает. Тем самым для / произойдет замена, а для /a нет

первый раз делаешь всегда так) опыта наберешься, только из палок будешь делать😂

глубокая ночь. Я уже переключился в режим деградации для просмотра видосиков на ютубе, поэтому сорян)

сам тут обучаюсь на получебном проекте)я наоборот вот встал пару часов назад

посмотрел по исходникам, можно еще подцепиться вместо метода routes на метод register. Это вот прям этап, когда будет добавлен route в stack. Хорошее место, чтобы принять решение.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта