Мне трудно понять связь между node.js и запуском javascript в веб-браузере.
Нет ни одного.
JavaScript - это просто язык программирования.Вы пишете программное обеспечение в нем.Вы можете запустить это программное обеспечение в разных местах.Что вы можете сделать с этим программным обеспечением, зависит от того, где вы его запускаете.
Я мог бы написать какой-нибудь JavaScript, который бы включал и выключал свет в моем доме.Если бы у меня не было аппаратного обеспечения, которое позволяло бы мне это сделать, я бы не смог.
JavaScript, работающий в браузере, может быть написан для того, чтобы делать вещи, которые браузер делает возможным.
JavaScriptРабота в Node.js может быть написана для того, чтобы делать то, что делает Node.js возможным.
Как связаны серверный сценарий и клиентский сценарий (или как мы можем их соединить)?
JavaScript, выполняемый в браузере, может отправлять HTTP-запросы на HTTP-сервер (и обрабатывать ответ от HTTP-сервера).
JavaScript, выполняемый в Node.js, может быть HTTP-сервером.
Еще один запутанный факт заключается в том, что я узнал, что я могу получить доступ к базе данных и файлам с помощью php в html-файле, но как насчет node.js?
Нет, вы не можете.
Если вы запускаете PHP через веб-сервер, тогда PHP автоматически сгенерирует заголовки HTTP-ответа, чтобы сообщить, что он выводит HTML (вы можете переопределить это).
ВЯзык PHP, код за пределами <?php ... ?>
будет просто передаваться напрямую на вывод.
Это означает, что вы можете печатать HTML-документ внутри программы PHP, но за пределами <?php ... ?>
, и похоже, что есть PHPвнутри документа HTML.Действительно, это программа PHP, которая генерирует документ HTML.
JavaScript не работает таким образом.Он не имеет «режима реального JavaScript» (например, <?js ?>
) и «потока непосредственно в режим вывода».
Существует множество шаблонизаторов, которые вы можете использовать, включая EJS (который позволяет вам встраивать JS в шаблон).Я склоняюсь к нянькам.