Estoy usando Thymeleaf con Spring Boot. Al cargar una página del sitio del proyecto, dice que mi secuencia de comandos está bloqueada porque se devuelve como json en lugar de texto/javascript.
Incluí el script en el html usando plantillas estándar de Thymeleaf como esta:
<script type="text/javascript" th:src="@{/js/admin-register-users.js}" defer></script>He configurado el manejo de recursos de la siguiente manera:
@Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/resources/**").addResourceLocations("/resources/"); registry.addResourceHandler("/img/**").addResourceLocations("classpath:/static/img/"); registry.addResourceHandler("/css/**").addResourceLocations("classpath:/static/css/"); registry.addResourceHandler("/js/**").addResourceLocations("classpath:/static/js/"); WebMvcConfigurer.super.addResourceHandlers(registry); } }Por alguna razón en el navegador me sale el error:
The resource from “https://localhost:8090/js/admin-register-users.js” was blocked due to MIME type (“application/json”) mismatch (X-Content-Type-Options: nosniff).Resultó ser que no se encontraba el archivo, por lo que el servidor devolvió una respuesta json, pero esa respuesta se bloqueó y no se pudo leer.
Para resumir, no tenía nada que ver con la configuración de recursos. El archivo no se generó desde TypeScript. Entonces, el servidor solo encontró una carpeta js vacía.