如何为Angular应用程序设置基本URL

问题描述 投票:1回答:4

我有一个由JHipster生成的Angular应用程序。默认情况下,它在根/ url上运行,并重定向到/#/。有没有办法将它覆盖到别的东西?

编辑

对不起,我必须重新解释我的问题,因为它在下面的所有答案中都被误解了。我希望将我的JHipster生成的Angular应用程序放在/以外的其他东西上,例如/crud/。目的是在/上提供一些非Angular内容。如何将整个应用程序从/移动到/crud/?还有/由静态index.html文件服务?

angular jhipster
4个回答
2
投票

您可以使用<base href="/">文件中的src/index.html对其进行修改。

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>SiteFrontend</title>
    <base href="/test">   //<------ this line

    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
    <app-root></app-root>
</body>


0
投票

在构建项目时更好地完成它。像这样:

ng build --prod --base-href=/test/

0
投票

请按照以下步骤操作:

  1. useHash: false设置app-routing-module.ts
  2. index.html,将<base href="./" />改为<base href="/" />

0
投票

这是最接近我想要的解决方案:

src/main/webapp/index.html重命名为src/main/webapp/crud.html

创建一个新文件src/main/webapp/index.html,其中包含您要在/上提供的任何静态内容。或者,您可以使用Spring Boot Controller服务/

对webpack / webpack.common.js的更改:

new HtmlWebpackPlugin下,添加以下条目:

filename: 'crud/index.html'

new CopyWebpackPlugin下,添加以下条目:

{ from: './src/main/webapp/index.html', to: 'index.html' }

并重命名模板:

template: './src/main/webapp/crud.html',

在modules / rules / * .html下,重命名html文件:

exclude: /(src\/main\/webapp\/crud.html)/

crud.html文件中,我将基数改为此,正如其他人已经说过:

<base href="/" />

这是查找仍在/api/上的后端API所必需的

这些都是我必须做出的改变。现在//index.html将提供我自己的非jhipster页面。所有JHipster都在/crud/index.html下服务。一旦你开始导航,浏览器中的地址将显示/#/,但这不会让我感到烦恼。但是很高兴听到如何将其改为/crud/

© www.soinside.com 2019 - 2024. All rights reserved.