@sajtim

Зачем нужен nodejs если есть fetch?

Здравия всем.
Несмотря на большой объём литературы из интернета никак не могу уловить основную концепцию организации работы веб-сайта (приложения). Или, хотя бы общепринятую. Поэтому не могу приступить к изучению бекенда, хотя для себя давно решил, что это будет только javascript с его экосистемой.
Один из основных нерешённых вопросов, организация открытой и закрытой частей приложения. Сейчас организовал свой сайт axdrv.ru, и упёрся всё в тот же вопрос. Например, сейчас список статей организован через метод fetch, который подтягивает json фал, что находится непосредственно в папке с сайтом, а посему доступ к нему запросто открывается через отладчик:
61a624324d879872685459.png
61a624e2462f6573419089.png
Понятно, когда вопрос коснётся конфиденциальности, такой подход неприемлем.
Тогда можно предположить, что пусть фалы json хранятся где-то на стороне, и доступ к ним ограничен политикой CORS. Однако снова хватает того же fetch, зачем nodejs? Только ли для того что с ним упрощается разработка?
И, второй вопрос вдогонку. Я понимаю раз технология nodejs так популярна я довольно скоро получу ответ, почему стоит его использовать, но в инете я пока нахожу один и тот же паттерн, вроде :"Ставим express и раздаём файлы в виде *some_content.js , а дальше уже недалеко до React или Vue" Но, nodejs это как по мне прежде всего серверный фреймворк, почему не использовать его в качестве помощника запрос-ответ, а рендер делать по старинке, или почти, типа статически динамических html? И, где его тогда устанавливать, во внутренней файловой структуре или обращаться к нему извне?
Варианты:
а) всё в одной папке;
б)клиент отдельно, nodejs и БД вместе, отдельно от клиента;
в) клиент и nodejs вместе, БД отдельно, nodejs только сервит но не рендерит на клиента;
г) клиент отдельно, nodejs отдельно, БД отдельно.
На сайте используются Web Components, в общем всё вручную, больше для полного понимания что где и почему.
Благодарю заранее.
P.S. Больше всего я застрял на атрибуте action тега form <form action="">
Если я прописываю путь к обработчику в nodejs, то пока не нашёл как обработчик может дать команду рендерить страницу, которая находится на клиентской стороне. Везде описывается как получить соответствующую страницу с сервера. А у меня все шаблоны на клиенте, нужны только данные. Так, значит лучше использовать onsubmit preventDefault и обрабатывать запрос fetch в javascript файле? Где-то здесь пробел большой.
  • Вопрос задан
  • 167 просмотров
Решения вопроса 1
@sajtim Автор вопроса
Оказалось, тема не так очевидна, и типового решения нет, как для первого так и для второго вопросов. Вариантов много, интернет на месте не стоит, поэтому вопрос решаем в индивидуальном порядке.
Кто, вдруг, зашёл в поисках решения, могу предложить искать безопасность сайта клиент-сервер по первому вопросу, файловая структура nodejs по второму.
Прошу не винить за холиварную тему.
Благодарю всех за ответы и комментарии.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@caballero
Программист
nodejs это бекенд то есть веб сервер
fetch выполняет ajax запросы к серверу ему пофиг нода там или нет
эти вещи никак не связаны

что касается второго вопроса
клиент , нода как вебсервер и БД опять же разные вещи выполняющие разные функции понятие вместе или отдельно не имеет смысла
Ответ написан
RAFAILgaley
@RAFAILgaley
лучше начать с пхп
и если его не хватит то использовать nodejs
nodejs нужен например для сервера который выполняя кучу запросов клиентов еще паралельно делает сложные вычисления например для многопользовательской игры

начни с простого сервера на котором простое api которое записывает в файлы читает и отдает json
без ничего, без фреймворков и готовых субд
просто шобы понять клиент-серверную архитектуру и как работать с данными

и чтобы защитить файлы на сервере настрой файл htaccess

расскажу подробнее, спрашивай
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы