我試圖指紋添加後綴以我的一些靜態文件(例app.min.js/style.min.css)使用ResourceResolvers和ResourceTransformers http://spring.io/blog/2014/07/24/spring-framework-4-1-handling-static-web-resourcesThymeleaf和靜態資源指紋
我有配置像這樣的ResourceHandler
@Configuration
@EnableWebMvc
public class ResourceResolverConfiguration extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("bower_components/**/*.js", "/assets/**", "/build/**")
.addResourceLocations("/bower_components/", "/assets/", "/build/","classpath:/META-INF/webapp/build/")
.resourceChain(true)
.addResolver(
new VersionResourceResolver()
.addContentVersionStrategy("/**")
);
}
}
和在我的主控制器我添加了一些調試日誌。
logger.debug("js = '{}'" + this.resourceUrlProvider.getForLookupPath("/build/app.js"));
logger.debug("css = '{}'" + this.resourceUrlProvider.getForLookupPath("/build/styles/style.css"));
後運行Web應用程序,從調試日誌中,有像
APP-5d2c76ad6517f26d252d5cc93a4fc7d2.js
每個文件的指紋,我可以訪問此文件直接,(即通過localhost:8080/build/app-5d2c76ad6517f26d252d5cc93a4fc7d2.js)
但是,當我在瀏覽器中點擊查看源代碼時,它仍然是一個沒有任何指紋的原始文件。
它在我的layout.html我加載腳本/鏈接像這樣。
<script th:src="@{/build/app.js}"></script>
<link th:href="@{/build/styles/style.css}" rel="stylesheet"></link>
我使用Thymeleaf作爲模板引擎。 配置或代碼應該使Thymeleaf包含指紋文件或我錯過了什麼?
非常感謝。
這是否解決了? – igracia
有誰知道速度的相應語法? –