Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring MVC静态资源版本控制,使用Thymeleaf和Angular_Java_Angular_Spring Mvc_Webpack_Thymeleaf - Fatal编程技术网

Java Spring MVC静态资源版本控制,使用Thymeleaf和Angular

Java Spring MVC静态资源版本控制,使用Thymeleaf和Angular,java,angular,spring-mvc,webpack,thymeleaf,Java,Angular,Spring Mvc,Webpack,Thymeleaf,我有一个单页应用程序,后端是SpringMVC、thymeleaf,前端是Angular和webpack。Spring MVC负责与thymeleaf一起提供版本化的静态资源,实际上以下配置用于此: @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/resources/**").addRe

我有一个单页应用程序,后端是SpringMVC、thymeleaf,前端是Angular和webpack。Spring MVC负责与thymeleaf一起提供版本化的静态资源,实际上以下配置用于此:

@Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("/resources/")
                .setCacheControl(CacheControl.maxAge(cacheControlMaxAge, SECONDS).noTransform().mustRevalidate())
                .resourceChain(false)
                .addResolver(new VersionResourceResolver().addContentVersionStrategy("/**"))
                .addTransformer(new CssLinkResourceTransformer());
    }
另外,下面的过滤器
ResourceUrlEncodingFilter
用于对资源URL进行编码

index.html的前端,静态资源以以下方式包括:

th:src="@{/resources/static/js/some.js}"
th:src="@{/resources/static/css/some.css}"
th:src="@{/resources/static/img/some.img}"
对于
index.html
中的这种硬编码链接,一切都很好,也就是说,在浏览器的“网络”选项卡中,我可以看到对静态资源使用版本名称的请求

但问题在于以下方面:我另外使用webpack来构建angular应用程序。Web包可以根据前端代码库中使用的导入动态地将脚本包含到
index.html
。因此,对于这种情况,我不能手动用thymeleaf标记包装脚本链接

您能否建议如何针对这种情况进行管理,这方面的最佳做法是什么