如何从 spring 引导应用程序提供 NextJs 应用程序?

How do I serve the NextJs application from spring boot application?

我有一个 spring boot rest API 服务,在 tomcat 中是 运行。

我在节点 js 服务器上有一个 NextJS UI 应用程序 运行。

现在我希望我的 NextJs 应用程序由 tomcat 服务器提供服务。

要让 spring 启动静态文件夹为我的 nextjs 应用程序提供服务,我需要执行哪些必要步骤?

Springboot 有一个写得很好的例子,说明如何将 React 与 Spring-Data-Rest 一起使用,以及如何将 mvn 插件用于 compile/build 你的 front-end。

我知道 ReactJs 不是 NextJS,但它可能会有所帮助,并可以为您提供一个开始:

maven插件是:frontend-maven-plugin

<build>
    <pluginManagement>
        <plugins>
            <!-- tag::frontend-maven-plugin[] -->
            <plugin>
                <groupId>com.github.eirslett</groupId>
                <artifactId>frontend-maven-plugin</artifactId>
                <version>1.9.1</version>
                <configuration>
                    <installDirectory>target</installDirectory>
                </configuration>
                <executions>
                    <execution>
                        <id>install node and npm</id>
                        <goals>
                            <goal>install-node-and-npm</goal>
                        </goals>
                        <configuration>
                            <nodeVersion>v12.14.0</nodeVersion>
                            <npmVersion>6.13.4</npmVersion>
                        </configuration>
                    </execution>
                    <execution>
                        <id>npm install</id>
                        <goals>
                            <goal>npm</goal>
                        </goals>
                        <configuration>
                            <arguments>install</arguments>
                        </configuration>
                    </execution>
                    <execution>
                        <id>webpack build</id>
                        <goals>
                            <goal>webpack</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!-- end::frontend-maven-plugin[] -->
        </plugins>
    </pluginManagement>
</build>

https://spring.io/guides/tutorials/react-and-spring-data-rest/

我找到了答案。

步骤-1:编辑package.json -> 在脚本属性

步骤 - 2:上述步骤将建立一个名为 "out" 的文件夹。复制 out 文件夹的内容。将其粘贴到 src -> main -> resources -> static 文件夹.

步骤-3:现在构建 spring 引导 jar/war,然后 运行 它。它将提供静态文件夹中的内容。