Я пытаюсь включить ContentVersionStrategy для файлов JavaScript и CSS в приложении Spring Boot, используя Thymeleaf в качестве движка представления.
В примере проекта Я добавил в приложение следующеефайл свойств:
# add classpath:/custom/ as a possible location
spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/custom/
# enable ContentVersionStrategy
spring.resources.chain.strategy.content.enabled=true
spring.resources.chain.strategy.content.paths=/**
Это работает для файлов .css в приложении, но не для файлов .js.Из того, что я могу прочитать, он также должен работать с файлами .js.
Я также пытался сделать это вручную, а не только в файле свойств с помощью:
@Configuration
public class WebConfiguration implements WebMvcConfigurer
{
private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
"classpath:/META-INF/resources/", "classpath:/resources/",
"classpath:/static/", "classpath:/public/", "classpath:/custom/"};
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry)
{
registry.addResourceHandler("/**").addResourceLocations(CLASSPATH_RESOURCE_LOCATIONS)
.resourceChain(true)
.addResolver(new VersionResourceResolver().addContentVersionStrategy("/**"));
}
}
Но это не такработать с файлами .css или .js.
Я пытался использовать Spring Boot с 2.1.4.RELEASE, 2.2.0.M2, 2.2.0.BUILD-SNAPSHOT, Java 11 и 12 на всякий случай.были какие-либо различия.
По какой-либо причине мой метод файла свойств, по-видимому, не применим к файлам .js?
Что-то явно не так с моей реализацией WebMvcConfigurer
, что означает, что она не применяетсяв .css или .js?