ho cercato di aggiungere il suffisso di impronte digitali per alcuni dei miei file statici (Es. App.min.js/style.min.css) utilizzando ResourceResolvers e ResourceTransformers http://spring.io/blog/2014/07/24/spring-framework-4-1-handling-static-web-resourcesThymeleaf e statico delle risorse con l'impronta digitale
ho config la ResourceHandler come questo
@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("/**")
);
}
}
e nel mio controller principale devo aggiungere un po 'registro di debug.
logger.debug("js = '{}'" + this.resourceUrlProvider.getForLookupPath("/build/app.js"));
logger.debug("css = '{}'" + this.resourceUrlProvider.getForLookupPath("/build/styles/style.css"));
Dopo eseguire l'applicazione web, dal registro di debug, c'è impronta digitale in ogni file come
app-5d2c76ad6517f26d252d5cc93a4fc7d2.js
e posso accedere a questo file direttamente, (vale a dire. Via localhost: 8080/build/app-5d2c76ad6517f26d252d5cc93a4fc7d2.js)
Tuttavia, quando faccio clic su Visualizza sorgente nel browser Web, è comunque un file originale senza alcuna impronta digitale.
che nel mio layout.html carico lo script/collegamento come questo.
<script th:src="@{/build/app.js}"></script>
<link th:href="@{/build/styles/style.css}" rel="stylesheet"></link>
Io uso Thymeleaf per motore modello. Quale dovrebbe essere la configurazione o il codice per far funzionare Thymeleaf con i file delle impronte digitali o mi sono perso qualcosa?
Grazie mille.
È stato mai risolto? – igracia
Qualcuno conosce la sintassi corrispondente per Velocity? –