Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 July 28

A

Anton in NodeUA - JavaScript and Node.js in Ukraine
Можно ссылку? Похоже на особенность удаления файлов в Linux
источник

M

Merry in NodeUA - JavaScript and Node.js in Ukraine
источник

IB

Iaroslav Blinkov in NodeUA - JavaScript and Node.js in Ukraine
IBM и RedHat его рекомендуют тоже
источник

AK

Alexandr Kazakov in NodeUA - JavaScript and Node.js in Ukraine
Учусь настраивать роутинг по данному примеру: https://youtu.be/7Ufxj0oTaUo?t=437 (видео указано со временем).

Вот мой код: https://github.com/alexandr-kazakov/HTTP-server-Node.js-routing-cluster-IP-sticky-
Он такой же как в видео, кроме того, что я добавил консоль.лог для удобства, а также сделал свои методы и вынес их в отдельные файлы.

Все вроде норм, только не срабатывают почему-то события в моем методе: https://github.com/alexandr-kazakov/HTTP-server-Node.js-routing-cluster-IP-sticky-/blob/main/application/api/handlers/POSTgetFormID.js#L5-L14 хотя я смотрел, req передается в эту функцию и функция запускается когда я захожу на url привязанный к методу.
источник

АМ

Андрей Москаленко... in NodeUA - JavaScript and Node.js in Ukraine
let post = qs.parse(body);
а откуда qs ?
источник

KR

Kostyantin Randomnam... in NodeUA - JavaScript and Node.js in Ukraine
імпорт мабуть якийсь, а це нормально що в обробнику end викликаєтся метод енд?
источник

AK

Alexandr Kazakov in NodeUA - JavaScript and Node.js in Ukraine
точно я не подключил const qs = require('querystring');
Но это сути не меняет, эти события все равно не срабатывают.
источник

AK

Alexandr Kazakov in NodeUA - JavaScript and Node.js in Ukraine
Еще у меня такие вопросы по этому видео:

На 13:34 https://youtu.be/7Ufxj0oTaUo?t=814 обратите внимание на строчку:

function: (fn, req, res) => JSON.stringify(fn(req, res))


Я вот наверное последнюю часть не до конца понимаю. Можем ли мы там написать так?:

function: (fn, req, res) => JSON.stringify(fn, req, res)


1.Зачем там эти вторые скобки, не могу понять.

2.Также в этом примере непонятно, почему для названия аргумента выбрано fn, что означает это сокращение?
источник

A

Aleksandr in NodeUA - JavaScript and Node.js in Ukraine
возможно это вызов функции с 2 аргументами просто
источник

A

Aleksandr in NodeUA - JavaScript and Node.js in Ukraine
fn от function сокращение
источник

АМ

Андрей Москаленко... in NodeUA - JavaScript and Node.js in Ukraine
function: (fn, req, res) => JSON.stringify(fn(req, res)),

если в types уже есть это и внутри createServer вот это
const result = serializer(data, req, res);
res.end(result);

то наверно странно вот здесь не возвращать результат а отдавать его с помощью того же res.end
https://github.com/alexandr-kazakov/HTTP-server-Node.js-routing-cluster-IP-sticky-/blob/main/application/api/handlers/POSTgetFormID.js
источник

АМ

Андрей Москаленко... in NodeUA - JavaScript and Node.js in Ukraine
и мне кажется надо возвращать промис, внутри которого вызывать resolve при req.end отдавая нужные данные
источник

AK

Alexandr Kazakov in NodeUA - JavaScript and Node.js in Ukraine
Еще у меня вопрос по структуре проекта. Я вот создал такой путь: application/api/ а затем у меня идет папка handlers, назвал так потому что у меня вроде как там обработчики POST и GET запросов будут: https://github.com/alexandr-kazakov/HTTP-server-Node.js-routing-cluster-IP-sticky-/tree/main/application/api
Нормально это?

Просто я не могу понять, что еще за контроллеры здесь бывают. Посмотрел доку экспресса, вроде там, то ли обработчики, то ли методы, называются контроллерами.

Может папку лучше не handlers назвать, а controllers?

* Еще  другой вариант был, записывать эти методы, вот как здесь: https://github.com/metarhia/Example/blob/master/application/api/example.1/getMyIP.js но к этому я пока не готов.
Поэтому вот думаю нормальная ли текущая структура папок до моих обработчиков, или нет.
источник

AK

Alexandr Kazakov in NodeUA - JavaScript and Node.js in Ukraine
Также норм ли подобным образом называть обработчики POST и GET запросов? Например я так назвал: POSTcreateCheckoutLink.js: https://github.com/alexandr-kazakov/HTTP-server-Node.js-routing-cluster-IP-sticky-/blob/main/application/api/handlers/POSTcreateCheckoutLink.js

Вроде название дает понять, что делает обработчик.

Или это методы с помощью которых я обрабатываю POST и GET запросы?

Вот не знаю, как правильно сформулировать.
источник

AK

Alexandr Kazakov in NodeUA - JavaScript and Node.js in Ukraine
Просто если бы я не выносил эти обработчики в отдельные файлы, а записал бы все в index.js то наверняка бы все норм работало, здесь же проблема в том, что я хотел вынести их в отдельные файлы, ну и события сразу перестали срабатывать.
источник

AK

Alexandr Kazakov in NodeUA - JavaScript and Node.js in Ukraine
источник

AK

Alexandr Kazakov in NodeUA - JavaScript and Node.js in Ukraine
Может дело в том, что я не подписался там на событие server.on('request', (req, res)?
Просто я подумал, что событие мы отслеживаем с помощью роутинга, когда пользователь переходит по выбранному url.
источник

MA

Maksim Andreevich in NodeUA - JavaScript and Node.js in Ukraine
Ребятки, посмотрите лекции Тимура
источник

MA

Maksim Andreevich in NodeUA - JavaScript and Node.js in Ukraine
После них уже лезьте во всякие экспрессы
источник

DL

Daniil Loban in NodeUA - JavaScript and Node.js in Ukraine
для этого нужно глянуть доки метода JSON.stringify
JSON.stringify(fn(req, res)) -так передается только один параметр
JSON.stringify(fn, req, res)
- так 3 параметра
разница будет каллосальной если 2 вариант вообще сработает
источник