春季静态内容(css)无法正确投放(春季启动)

时间:2018-11-05 20:52:49

标签: reactjs spring-mvc spring-boot request-mapping staticresource

我有一个spring boot应用程序和一个服务器静态网页(React build)控制器:

@Controller
@RequestMapping("/test")
public class HomeController {

    @GetMapping("/")
    public String index() {
    return "index.html";
} 
 ...

index.html位于:../ resources / static / index.html

也在application.yml中:

spring:
  mvc:
    static-path-pattern: /test/**

我遇到两个问题(问题2是主要问题):

  1. 我必须调用以下URL,并在其末尾添加'/':http://localhost:8100/test/我希望http://localhost:8100/test也将我映射到view(index.html)。 / p>

  2. 在页面加载期间,出现以下错误: Error

您所看到的问题是调用的url是: http://localhost:8100/static/css/main.6c417d20.chunk.css

不是

http://localhost:8100/test/static/css/main.6c417d20.chunk.css

(请注意,网址中“静态”的原因是在resources / static文件夹下有一个名为:static的文件夹,因此网址中的“静态”没有问题)

这是服务器方面的问题,还是我应该在反应中解决的问题?

我搜索了一个答案,但没有发现任何帮助。

任何帮助将不胜感激, Tnx

2 个答案:

答案 0 :(得分:0)

答案1:<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.min.js"></script> <div id="app"> <button v-on:click="oldButton">The Old Button</button> </div>具有String []值参数,因此可以指定多个值,如下所示:

@RequestMapping

答案2:您期望URL中的@RequestMapping(value={"", "/", "welcome"}) 是控制器映射而不是项目上下文路径,因此它不应包含在静态资源URL中。

请参阅this answer,以更清楚地了解如何在春季启动时添加CSS和JS。

答案 1 :(得分:0)

因此,我的问题的答案位于以下链接中:

  1. 如何构建对非根路径(主页)的响应:

    build react non root path

  2. 将zuul客户端注册到以下路径(包含所有资源):

    Zuul configuration with resources

因此,如果有人遇到相同的问题,我将在此保留(第二个链接中的答案是针对vue.js和webpack的,第一个链接说明了如何在react中更改根地址)。