JHipster 应用程序在 prod 模式下不起作用

Posted

技术标签:

【中文标题】JHipster 应用程序在 prod 模式下不起作用【英文标题】:JHipster app does not work under prod mode 【发布时间】:2018-09-16 13:54:53 【问题描述】:

我有一个单体应用程序,在开发模式下一切正常。当我将应用程序打包以进行生产时,前端不起作用。 后端运行正常。 您对如何调试有任何建议/建议吗? 我已经清理并重新安装了 node_modules 和 yarn.lock 文件。 没有不同。 任何建议将不胜感激。

Using JHipster version installed locally in current project's node_modules Executing jhipster:info Options:  Welcome to the JHipster Information Sub-Generator

##### **JHipster configuration, a `.yo-rc.json` file generated in the root folder**


<details> <summary>.yo-rc.json file</summary> <pre>    "generator-jhipster": 
    "promptValues": 
      "packageName": "---"
    ,
    "jhipsterVersion": "4.14.0",
    "baseName": "devkit",
    "packageName": "---",
    "packageFolder": "---",
    "serverPort": "8080",
    "authenticationType": "jwt",
    "cacheProvider": "no",
    "websocket": false,
    "databaseType": "sql",
    "devDatabaseType": "mssql",
    "prodDatabaseType": "mssql",
    "searchEngine": false,
    "messageBroker": false,
    "serviceDiscoveryType": false,
    "buildTool": "maven",
    "enableSocialSignIn": false,
    "enableSwaggerCodegen": false,
    "jwtSecretKey": "replaced-by-jhipster-info",
    "clientFramework": "angularX",
    "useSass": false,
    "clientPackageManager": "yarn",
    "applicationType": "monolith",
    "testFrameworks": [],
    "jhiPrefix": "jhi",
    "enableTranslation": false     </pre> </details>




##### **Environment and Tools**

java version "1.8.0_161" Java(TM) SE Runtime Environment (build
1.8.0_161-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

git version 2.15.0.windows.1

node: v8.9.4

npm: 5.6.0

yeoman: 2.0.1

yarn: 1.3.2

Docker version 18.03.0-ce, build 0520e24

docker-compose version 1.20.1, build 5d8c71b2

Congratulations, JHipster execution is complete!

【问题讨论】:

你是如何构建它的? 可能不相关,但有关 favicon.icon 的错误显示 $baseUrl 未展开,因此您的产品应用程序属性可能有问题 您好,感谢您的回答。当我尝试调试时,我在 webpack.common.js 下找到了 SERVER_API_URL。我将其设置为我启动 API 的 URL。之后,我使用 nodeJs 中的 http-server 服务于前端。它有效。但是我还没有找到原来的问题。你说的一定是对的。属性基本相同(开发和产品)。 Angular 程序无法正确启动,这就是我们看到这些消息的原因。 当前端 id 由同时服务于后端的 tomcat 提供时,问题与此有关。 我找到了问题的原因。我想将包装作为罐子而不是战争,所以我将 pom 包装改为罐子。这就是问题的原因。 【参考方案1】:

在 prod 模式下尝试生成 jar 而不是战争存档会破坏应用程序。只需在 build 标记下添加 &lt;fileName&gt; 标记即可轻松更改将要生成的存档的文件名,但如果要更改扩展名,请不要更改 &lt;packaging&gt; 标记,因为这会破坏正在生产的应用程序。

更新: 我发现只需手动(手动)将文件从 war 重命名为 jar 会破坏前端,并出现前面描述的错误。

【讨论】:

以上是关于JHipster 应用程序在 prod 模式下不起作用的主要内容,如果未能解决你的问题,请参考以下文章

使用 Prod 配置文件运行 JHipster 应用程序时清空 Web 内容

Jhipster Prod 构建失败以及未找到 Cloudfoundry 错误

为啥消息处理程序在调试模式下不起作用?

JHipster Prod 版本构建时 Liquibase date_trunc postgresql 函数错误

jhipster:elasticsearch节点不可用

quickblox 推送通知在生产模式下不起作用