Использование NodeJS функций в html - PullRequest
0 голосов
/ 11 апреля 2020

Итак, я создал бэкэнд в NodeJS, но столкнулся с одной проблемой: как можно связать мой бэкэнд со своей внешней html / css страницей и использовать мои функции NodeJS как скрипты?

1 Ответ

1 голос
/ 11 апреля 2020

Если вам неясно, ваш nodejs сервер работает на вашем сервере. Работа сервера (в веб-приложении) заключается в доставке данных в браузер. Он доставляет HTML страниц. Он предоставляет ресурсы, на которые есть ссылки на этих HTML страницах, такие как сценарии, изображения, шрифты, таблицы стилей и т. Д. c. Он также может отвечать на программные c запросы данных.

Сценарии в этих веб-сетях страницы запускаются в браузере, который почти всегда (за исключением сценария тестирования разработчика ios) работает на совершенно другом компьютере в совершенно другой локальной сети (подключается только через некоторую сеть - обычно это inte rnet).

Таким образом, скрипт в браузере не может напрямую ссылаться на переменные, которые существуют на сервере, или вызывать функции, которые существуют на сервере. Это совершенно разные компьютеры.

Чтобы обойти это архитектурное ограничение, вы можете сделать следующее:

  1. Сервер может динамически изменять веб-страница отправляет браузер и может вставлять данные на эту веб-страницу. Эти данные могут быть в виде уже обработанных HTML или могут быть переменными внутри тегов сценария, которые ваша веб-страница Javascript может затем использовать.

  2. javascript в веб-страница может отправлять сетевые запросы на ваш сервер, запрашивая данные. Их часто называют AJAX звонками. В этом случае некоторые Javascript на вашей странице отправляют запрос на сервер, чтобы получить некоторые данные или вызвать какое-либо действие на сервере. Сервер получает этот запрос, выполняет требуемую операцию и затем возвращает результат обратно клиенту Javascript, работающему в браузере. Этот клиент Javascript получает результат и может затем воздействовать на него, вставляя данные на страницу, переводя браузер go на новую веб-страницу, предлагая пользователю, et c ...

Существуют и другие способы, которыми веб-страница javascript может взаимодействовать с сервером, такие как соединения webSocket, но мы пока отложим их в стороне, так как это всего лишь больше возможностей для удаленной связи - структура общения на самом деле не меняется.

как можно связать мой бэкэнд со своей внешней страницей html / css и использовать мои NodeJS функции в качестве сценариев?

Вы не можете напрямую использовать свои функции nodejs в качестве сценариев в интерфейсе. Вы можете сделать Ajax звонков на сервер и попросить сервер выполнить свой собственный код сервера от вашего имени, чтобы выполнить какую-либо операцию или получить некоторые данные.

При необходимости вы также можете вставлять скрипты в Интернет. запустите Javascript прямо в браузере, но сможете ли вы сделать это для вашей конкретной ситуации, полностью зависит от того, что делают сценарии. Если сценарии обращаются к какому-либо ресурсу, доступному только с сервера (например, к базе данных или системе хранения на сервере), вы не сможете запускать эти типы сценариев в браузере. Вам нужно будет использовать ajax звонки, чтобы попросить сервер запустить их для вас, а затем получить результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...