跳到主要内容

在ActiveJ项目中使用React

在这个例子中,我们将在一个ActiveJ项目中整合React。 你可以在以下网站找到完整的例子来源 GitHub. 这里我们将考虑使用 HttpServerLauncherAsyncServlet 来设置处理这些请求的 服务器。 看看ActiveJ如何使这个过程变得极其简单。

创建发射器

SimpleApplicationLauncher extends HttpServerLauncherHttpServerLauncher 超类负责为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.4.3。 在运行这个例子之前,构建项目(Ctrl F9 for IntelliJ IDEA)。 然后,在 activej/examples/tutorials/react-integration/front中运行以下命令

npm inpm run-script build

打开 SimpleApplicationLauncher 类并运行其 main() 方法。 然后打开你喜欢的浏览器,进入 localhost:8080