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 标记下添加 <fileName>
标记即可轻松更改将要生成的存档的文件名,但如果要更改扩展名,请不要更改 <packaging>
标记,因为这会破坏正在生产的应用程序。
更新: 我发现只需手动(手动)将文件从 war 重命名为 jar 会破坏前端,并出现前面描述的错误。
【讨论】:
以上是关于JHipster 应用程序在 prod 模式下不起作用的主要内容,如果未能解决你的问题,请参考以下文章
使用 Prod 配置文件运行 JHipster 应用程序时清空 Web 内容
Jhipster Prod 构建失败以及未找到 Cloudfoundry 错误