JHipster:每次升级都会出现空白屏幕

JHipster:每次升级都会出现空白屏幕,jhipster,Jhipster,每次jhipster升级其版本时,我都会遇到一个反复出现的问题。我的应用程序突然变成一片空白,就像一个空的白色屏幕。当时我没有重新生成或重新运行yo jhipster。编译正常,没有错误消息 我通过运行jhipster的手动升级并重新生成所有内容,解决了这个问题(这很烦人)。恼人的是,我需要查看每个文件的差异,因为我对生成的一些文件做了一些修改 我的问题是: 为什么调用mvnw而不更改本地代码取决于互联网上发布的jhipster的最新版本 是什么导致了空屏幕 每次jhipster发布新版本时,我

每次jhipster升级其版本时,我都会遇到一个反复出现的问题。我的应用程序突然变成一片空白,就像一个空的白色屏幕。当时我没有重新生成或重新运行yo jhipster。编译正常,没有错误消息

我通过运行jhipster的手动升级并重新生成所有内容,解决了这个问题(这很烦人)。恼人的是,我需要查看每个文件的差异,因为我对生成的一些文件做了一些修改

我的问题是:

  • 为什么调用
    mvnw
    而不更改本地代码取决于互联网上发布的jhipster的最新版本

  • 是什么导致了空屏幕

  • 每次jhipster发布新版本时,我是否需要重新生成我的应用程序


  • 谢谢。

    空白屏幕通常意味着有一些JS错误。您需要进入浏览器开发人员控制台以获取错误

    尽管我们上一个版本修复了升级生成器,它在所有4.0.X版本中都被破坏了,但我没有尝试它。我还需要一个更好的升级流程,所以我只是手动执行升级生成器中的步骤,这确实让事情变得更简单。以下是您始终可以做到的:

  • 转到要应用更新的分支。我将在我的例子中提到大师
  • 使用git checkout--Orphant upgrade jhipster,基于您的分支创建一个孤立分支。孤立分支没有父版本,因此在合并过程中,与主版本不同的每个文件都会导致合并冲突。否则,您将覆盖您的更改,因为升级中的任何更改都将晚于您的更改
  • 确保在项目根目录中运行最新的生成器。请记住,JHipster会在生成器生成后放置一份副本,以确保您可以使用生成应用程序的版本,即使您进行了全局升级
  • 运行
    yojhipster--with entities--force
    并将更改提交到
    upgrade jhipster
    分支
  • 现在,
    git checkout master
    git合并升级jhipster
  • 如果您使用可视化合并对话框在某些工具中执行最后一步,例如IntelliJ,那么升级过程非常容易处理,并且不像yeoman Diff那样烦人


    根据您的更改是如何自定义的,仍然不能保证这将导致进入无错误状态。但这正是升级生成器要做的。一个区别是,手动方法不会像升级生成器那样删除过时的文件。然而,我正在以这种方式升级我的非常定制的JHipster项目,它运行良好

    空白屏幕通常意味着,存在一些JS错误。您需要进入浏览器开发人员控制台以获取错误

    尽管我们上一个版本修复了升级生成器,它在所有4.0.X版本中都被破坏了,但我没有尝试它。我还需要一个更好的升级流程,所以我只是手动执行升级生成器中的步骤,这确实让事情变得更简单。以下是您始终可以做到的:

  • 转到要应用更新的分支。我将在我的例子中提到大师
  • 使用git checkout--Orphant upgrade jhipster,基于您的分支创建一个孤立分支。孤立分支没有父版本,因此在合并过程中,与主版本不同的每个文件都会导致合并冲突。否则,您将覆盖您的更改,因为升级中的任何更改都将晚于您的更改
  • 确保在项目根目录中运行最新的生成器。请记住,JHipster会在生成器生成后放置一份副本,以确保您可以使用生成应用程序的版本,即使您进行了全局升级
  • 运行
    yojhipster--with entities--force
    并将更改提交到
    upgrade jhipster
    分支
  • 现在,
    git checkout master
    git合并升级jhipster
  • 如果您使用可视化合并对话框在某些工具中执行最后一步,例如IntelliJ,那么升级过程非常容易处理,并且不像yeoman Diff那样烦人


    根据您的更改是如何自定义的,仍然不能保证这将导致进入无错误状态。但这正是升级生成器要做的。一个区别是,手动方法不会像升级生成器那样删除过时的文件。然而,我正在以这种方式升级我的非常定制的JHipster项目,当您使用
    /mvnw
    启动应用程序时,它运行良好,您以开发模式启动应用程序,因此web前端不是“web打包”的,无法提供服务。如果您想在开发模式下为web前端提供服务,建议的方法是这样做

  • /mvnw
  • 在另一个终端
    warn start
    中,启动webpack dev服务器并将其连接到后端
  • 在节点模块发生更改的升级之后,您可能必须首先键入
    warn
    ,以确保导入所有依赖项

    或者,您可以先构建前端

  • 纱线网页包:构建
  • /mvnw
  • 这样做的缺点是,每次前端发生变化时,您都必须重新构建网页包。如果您在前端提供
    纱线开始
    服务,则不必这样做

    一个产品构建总是将网页打包到前端

    我注意到的另一件事是,JHipster的一些版本和选项似乎希望在
    build
    目录中构建web前端,而不是预期的
    target
    目录。web前端应位于
    target/www/app
    中。如果
    纱线后不存在,我们