【问题标题】:Deploy Angular2 App with baseurl使用 baseurl 部署 Angular2 应用程序
【发布时间】:2017-08-05 21:33:21
【问题描述】:

我是 Angular2 Wep 应用开发的新手。

我使用 angular-cli 创建了一个 Angular2 应用程序,现在我想将此应用程序部署到我的 tomcat 服务器。

我给了 ng build 并创建了 dist 文件夹以进行部署。我复制了 dist 文件夹中的所有文件,并在 Tomcat webapps 文件夹中创建了一个文件夹,如 somename 并将所有文件粘贴到此 somename 文件夹中。我将 index.html 基本 href 更改为 /somename。

<base href="/somename">

如果我从 localhost:9000/somename 等服务器运行应用程序。它在控制台中给出错误,如文件而不是错误。

我该如何解决这个问题。

请帮助我,在此先感谢。

【问题讨论】:

  • 请在您的问题中添加确切的错误消息。你用的是什么服务器?它在根路径中的服务器上工作吗?您是否尝试过使用HashLocationStrategy? (imports: [RouterModule.forRoot(myRoutes, {useHash: true})])?

标签: angular deployment angular-cli tomcat8


【解决方案1】:

尝试将 base href 设置为以下之一:

&lt;base href="./"&gt;:这通常适用于初学者包,或者没有/使用 Angular 路由器的初学者项目。它基本上将base 设置为从哪个目录提供服务。

&lt;base href="/somename/&gt;(注意结尾/): 这对我来说在 IIS 8.5 上运行良好——更多 details here

另外,在相关说明中,一个小建议是使用ng build --base-href your-new-base-href 命令,而不是每次构建应用时手动编辑index.html

【讨论】:

  • 只是为了它......你可以进一步试验不同的 base href 值,如“/”、“”、“somename”、“somename/”、“./ ", "./somename"。它将让您对&lt;base&gt; 的工作方式有一个体面、实用的理解。基本标签的快速信息:w3schools.com/tags/tag_base.asp
【解决方案2】:

尝试构建类似的应用

ng build --base-href /myApp/

<base href="/myApp/">

您的 dist 文件夹内容应复制到“myApp”文件夹。从 tomcat 服务器运行应用程序,例如 localhost:8080/myApp/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-30
    • 2017-07-30
    • 1970-01-01
    • 2016-05-15
    • 2018-01-30
    • 2017-04-01
    • 1970-01-01
    • 2017-04-10
    相关资源
    最近更新 更多