在Spring Boot的路径上提供Angular2

时间:2017-01-20 16:16:00

标签: spring-mvc angular spring-boot

我在Spring启动应用程序中运行Angular2应用程序。这是我目前的结构:

src/main
    java/com/test
        Application.java
    resources/static
        app/
        css/
        images/
        node_modules/
        index.html
        package.json
        systemjs.config.js
        tsconfig.json

我不能为我的生活找出如何告诉Angular我从这样的路径服务它:localhost:8080 / angularApp

我已经在弹簧方面配置了它:

system.context-path=/angularApp

但我无法让App真正认识到这一点。以下是我尝试过的几件事:

在tsconfig.json中:

"baseUrl": "./angularApp

也在tsconfig.json中:

"paths": {
  "app/*": [ "angularApp/app/*" ]
}

但这些都没有起作用。

当我尝试加载localhost:8080 / angularApp

我看到的问题是:

GET http://localhost:8080/css/styles.css 404 ()

在我的index.html中,我已经将它配置为:

<link rel="stylesheet" href="css/styles.css">

如果我这样配置它确实有效,但是这条路径可能会根据我正在运行它的环境而改变,所以硬编码这样的每一行都是不可行的:

<link rel="stylesheet" href="angularApp/css/styles.css">

我觉得这应该很容易,而且我错过了一些东西。

任何人都可以提供一些见解吗?

1 个答案:

答案 0 :(得分:3)

您需要在index.html的头部添加基本标记

<base href="/angularApp/">

如果需要,请链接到文档以获取进一步说明:https://angular.io/docs/ts/latest/guide/router.html#!#base-href