更新 JHipster 后不提供 Angular 组件,仅提供根 index.html

Posted

技术标签:

【中文标题】更新 JHipster 后不提供 Angular 组件,仅提供根 index.html【英文标题】:Angular components not served after updating JHipster, only serves root index.html 【发布时间】:2020-08-08 12:02:09 【问题描述】:

我试图将我的 Jhipster 4.0 项目(使用 Angular 4)更新到 Jhipster 6.0(使用 Angular 9)。 Angular 版本和 Typescript 版本有这么大的区别,我只是创建了一个 Jhipster 6.0 项目,然后我替换了这个 Jhipster 6.0 项目中的所有以下文件。这些文件被 Jhipster 4.0 项目中的文件替换,所以我可以让前端再次工作 - src/main/webapp - src/test - package.json - webpack - tsconfig.json

本质上,这使它再次使用 angular 4 ...使其使用旧的打字稿 ...并让它拥有所有旧的前端代码。我可以很好地使用应用程序(使用 ./mvnw 和 npm start)。但只有http://localhost:9061

我正在尝试通过端口 8080 提供旧的 Angular 代码。目前只有 index.html 文件在那里提供,它是一个几乎为空的带有 jhipster 针的 html 文件。 当我尝试其他 url 路径时,仍然会提供此页面。 例如,以下 url 都提供根 index.html 文件:

http://localhost:8080/#/dashboard http://localhost:8080/app/dashboard

但是,如果我尝试从类似的 url 提供静态内容,那确实有效。例如,这确实会正确返回 .css 文件:

http://localhost:8080/app/dashboard/dashboard.css

因此,简而言之,我正在尝试找到一种方法来从更新的 JHipster 应用程序中提供稍旧的 Angular (v4),但没有提供 Angular 组件。谢谢!

【问题讨论】:

【参考方案1】:

确保你的 webpack.dev.js 中有这个 - contentBase: './target/classes/static', ...并且你没有这个 - contentBase: './target/www',

【讨论】:

谢谢,JHipster 版本之间的路径似乎发生了变化。这行得通。

以上是关于更新 JHipster 后不提供 Angular 组件,仅提供根 index.html的主要内容,如果未能解决你的问题,请参考以下文章

Jhipster - Angular 接收其他用户的导航

JHipster - 无法在 angular.json 中添加 jquery 路径

如何在 Jhipster (spring boot + angular) 应用程序上设置上下文路径

JHipster/Angular 配置如何确定它需要使用 index.html 文件?

markdown JHipster - 在Angular上导入模块

java Spring和Angular的安全级别,使用JHipster