Перейти к основному содержанию

Использование React в проектах ActiveJ

В этом примере мы интегрируем React в проект ActiveJ. Полные исходные тексты примеров вы можете найти на GitHub. Здесь мы рассмотрим использование HttpServerLauncher и AsyncServlet для настройки сервера , который обрабатывает запросы. Посмотрите, как ActiveJ делает этот процесс чрезвычайно простым.

Создание пусковой установки

SimpleApplicationLauncher расширяет HttpServerLauncher. Суперкласс HttpServerLauncher заботится о настройке всех необходимых конфигураций для HTTP-сервера:

import io.activej.http.AsyncServlet;import io.activej.http.StaticServlet;import io.activej.inject.annotation.Provides;import io.activej.launchers.http.HttpServerLauncher;
import java.util.concurrent.Executor;
import static java.util.concurrent.Executors.newSingleThreadExecutor;
//[START EXAMPLE]public final class SimpleApplicationLauncher extends HttpServerLauncher {  @Provides  Executor executor() {    return newSingleThreadExecutor();  }
  @Provides  AsyncServlet servlet(Executor executor) {    return StaticServlet.ofClassPath(executor, "build")        .withIndexHtml();  }
  public static void main(String[] args) throws Exception {    SimpleApplicationLauncher launcher = new SimpleApplicationLauncher();    launcher.launch(args);  }}//[END EXAMPLE]

Во-первых, мы предоставляем исполнителя для AsyncServlet. Затем мы предоставляем AsyncServlet для открытия index.html по указанному пути. Наконец, мы запишем метод main() для запуска SimpleApplicationLauncher. И все, никаких дополнительных конфигураций не требуется. Простота и обтекаемость, не так ли?

Запуск приложения

Если вы хотите запустить пример, клонируйте ActiveJ и импортируйте его как проект Maven. Посмотрите ветку v5.0. Перед запуском примера выполните сборку проекта (Ctrl F9 для IntelliJ IDEA). Затем выполните следующую команду в разделе activej/examples/tutorials/react-integration/front.

npm inpm run-script build

Откройте класс SimpleApplicationLauncher и запустите его метод main() . Затем откройте ваш любимый браузер и перейдите по адресу localhost:8080.