编辑:我可以相对清楚地说,这是我的Spring应用程序存在的问题。将其上传到我的test-firebase中时,不会触发这样的警告。
亲爱的编码员...
当我说时,请相信我,我确实尝试过解决别人问题中发布的许多其他解释。这只是一个非常奇怪的案例。
我想尝试在Spring后端中部署Angular 5应用程序。确实是一个看起来像这样的准系统设置...
@SpringBootApplication
public class AngularApplication extends SpringBootServletInitializer {
@Configuration
@EnableConfigurationProperties({ ResourceProperties.class })
public class WebMvcConfig implements WebMvcConfigurer {
@Autowired
private ResourceProperties resourceProperties = new ResourceProperties();
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
long cachePeriod = resourceProperties.getCache().getPeriod().getSeconds();
final String[] staticLocations = resourceProperties.getStaticLocations();
final String[] indexLocations = new String[staticLocations.length];
registry.addResourceHandler(
"/**/*.css",
"/**/*.js")
.addResourceLocations(staticLocations)
.setCacheControl(CacheControl.maxAge(cachePeriod, TimeUnit.SECONDS));
registry.addResourceHandler(
"/**/*.html",
"/**/*.json",
"/**/*.bmp",
"/**/*.jpeg",
"/**/*.jpg",
"/**/*.png",
"/**/*.ttf",
"/**/*.svg",
"/**/*.eot",
"/**/*.woff",
"/**/*.woff2"
)
.addResourceLocations(staticLocations)
.setCacheControl(CacheControl.maxAge(60, TimeUnit.SECONDS));
registry.addResourceHandler("/**").addResourceLocations(indexLocations).resourceChain(true)
.addResolver(new PathResourceResolver() {
@Override
protected Resource getResource(String resourcePath, Resource location) {
return location.exists() && location.isReadable() ? location : null;
}
});
}
}
public static void main(String[] args) {
SpringApplication.run(AngularApplication.class, args);
}
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(BizviewAngularApplication.class);
}
}
我对应用程序进行了有效的构建,将其放在Spring应用程序的静态文件夹中并运行它。 外观和感觉都很棒。没错,我几乎可以在所有浏览器上看到我的页面。 Edge,Opera,Firefox,但是只有在Chrome浏览器中,我弹出一个警告,当重新绘制窗口时,警告会越来越多...
Failed to decode downloaded font
和OTS parsing error: invalid version tag
。
我删除了font-awesome并重新安装了4.7,但这没有帮助。奇怪的是,字体超赞的图标都很好。我可以看到它们,并且项目中没有任何缺失。我的意思是,这是我推出的第一个应用程序,所以我可能会遗漏一些东西,但这看起来像是一个奇怪的特定问题
答案 0 :(得分:1)
在带有重写规则的IIS 8.5上托管时,我遇到了这个问题。据我了解,问题在于文件扩展名实际上被解释为.woff?v=4.7.0
。
因此,我最终将其添加到字体扩展列表中。我对Spring一无所知,但是从您的清单中,我认为您应该将其添加到registry.addResourceHandler
:
registry.addResourceHandler(
"/**/*.html",
"/**/*.json",
"/**/*.bmp",
"/**/*.jpeg",
"/**/*.jpg",
"/**/*.png",
"/**/*.ttf",
"/**/*.svg",
"/**/*.eot",
"/**/*.woff",
"/**/*.woff?v=4.7.0",
"/**/*.woff2"
)