在Spring Boot jar中包含Node模块

时间:2019-03-06 07:46:36

标签: reactjs spring-boot gradle npm package.json

我有一个带有React前端的Spring Boot应用程序。我有一个package.json,其中包含我所有的节点依赖关系,并使用gradle作为我的spring boot依赖关系。

但是,当我想为我的生产环境构建一个jar时,我不确定如何包括节点模块,以便它们随jar一起提供(这样,我的react前端就拥有了对prod的所有依赖)。对于我的开发环境,我有一个任务来设置如下所示的环境:

task setupEnv {
group = 'application-dev'

dependsOn 'npmSetup'
dependsOn 'npmInstall'
} 

或者可以以某种方式使用docker在生产环境上设置模块吗?我不确定如何进行此操作,我们将不胜感激。

1 个答案:

答案 0 :(得分:-1)

您最有可能使用某种构建步骤来生成前端资产,例如Webpack / Gulp / NPM脚本。将该JS构建过程的输出指向src/main/resources

您的Gradle构建应基于Spring Boot Gradle plugin。使用该Gradle插件,Gradle将自动创建包含所有前端资产的胖JAR。默认情况下,Spring Boot会将其用作您的Web应用程序的前端资产。

如果遵循Spring Boot的默认设置,则无需执行任何特殊操作。