首页 > 解决方案 > Heroku 在 Spring Boot 中不提供捆绑的 React JS 应用程序

问题描述

我有以下 gradle 构建配置

node {
    version = '10.14.2'
    npmVersion = '6.5.0'
    download = true
    workDir = file("${project.buildDir}/node")
    nodeModulesDir = file("${project.projectDir}/src/main/webapp/chronos-ui")
}

bootJar {
    baseName = 'chronos'
    version = '0.1.0'
    from("${project.projectDir}/src/main/webapp/chronos-ui/build") {
        into "${project.projectDir}/src/main/resources/static"
    }
}

task installFeDependencie(type: NpmTask) {
    args = ['install']
}

task buildFe(type: NpmTask) {
    args = ['run-script', 'build']
}

buildFe.dependsOn(installFeDependencie)
build.dependsOn(buildFe)

基本上它执行以下操作:

  1. 构建 ReactJS 应用程序
  2. 将构建 ReactJS 应用程序复制到 jar 文件中

当我在本地执行gradlew build然后java -jar jar_name.jar

我可以在localhost:8080

但是,当我将我的应用程序部署到 heroku 时,对根 URI 的访问会为我提供 404 错误。

有什么问题,我该如何解决?

标签: reactjsspring-bootgradleheroku

解决方案


推荐阅读