Могу ли я запустить несколько node.js файлы

#node.js

#node.js

Вопрос:

У меня есть server.js файл, который запускает мой сервер и отображает html-файлы. В файле javascript на стороне клиента я хотел бы сделать ajax-запрос к отдельному файлу js на стороне сервера, который извлекает данные из API. Возможно ли это? или есть лучшее решение при работе в среде узла.

Комментарии:

1. Вы пытаетесь использовать два отдельных API? Почему бы не сделать этот второй API доступным через первый скрипт?

Ответ №1:

Вы можете запустить несколько node.js файлы на одном сервере. Запуск каждого из них с помощью node my_file.js .


И да, есть лучший вариант для достижения желаемого эффекта, вместо запуска нескольких серверов. Я бы даже не рекомендовал вам запускать второй сервер, если вы намеренно не хотите, чтобы он был полностью независимым объектом.

Решение называется маршрутизацией, например, вы хотите обслуживать две функции с Node.js:

  1. http://my-app.com/
  2. http://my-app.com/api/users

Насколько я понимаю, вы знаете, как их реализовать, теперь вам просто нужен маршрутизатор для их объединения.

Доступно много маршрутизаторов с отличными примерами и документацией.

Давайте считать, что вы выбрали Express, затем, следуя этому руководству, ваш основной (отправная точка) JS-файл будет содержать простые инструкции, указывающие, какой JS-файл обслуживает какую часть вашего веб-сайта:

 app.get('/', mySite.index);
app.all('/api/*', myApi.index);
  

Обратите внимание: это неполный код, обратитесь к документации ExpressJS или к другому маршрутизатору, который вы решите использовать.
ExpressJS — это богатый фреймворк, если вам нужен только маршрутизатор, возможно, вы захотите найти что-нибудь попроще.

Комментарии:

1. Привет, спасибо, я использую express, я просто подумал с точки зрения сервера PHP apache. Хотя это отличное решение

2. @wazzaday да, комбинация Apache PHP немного отличается. Apache выступает там в роли маршрутизатора, а также интерпретатора PHP. С Node.js у вас есть команда node , которая является интерпретатором, и вам нужно беспокоиться о роли маршрутизатора самостоятельно 🙂 Хотя это хорошо, вернемся к истокам компьютеров — больше контроля = больше возможностей.