1
我必須使用Java後端啓動Angular 1應用程序。我以前使用與之前幾個月的前一個文件夾結構相同的文件夾結構,將Angular 1作爲前端,將Storngloop作爲後端。通過ResourceHandlerRegistry提供靜態資源的不同方式
我的前端Web應用程序是通過該文件夾結構組成:
src
|
main
|
webapp
|
client
裏面app文件夾ICH HABE由子組成整個應用程序,它裏面其他的.css,.js文件,.html文件(在每個文件夾療法的例如:登錄表單文件夾,其中有.css
,.html
和.js
文件等等......)。
喜歡的東西:
client
|
login
|
login.html
|
login.css
|
login.js
stuff
|
stuff.html
|
stuff.css
|
stuff.js
,並在index.html的我會做(2)
:
<link rel="stylesheet" href="client/login/login.css">
...
<script src="client/login/login.js"></script>
所以我想配置我ResourceHandlerRegistry
如下(1)
:
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "my.package")
public class Configurations extends WebMvcConfigurerAdapter {
@Override
public void configureViewResolvers(ViewResolverRegistry registry) {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/client/");
viewResolver.setSuffix(".html");
registry.viewResolver(viewResolver);
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//resources locations
registry.addResourceHandler("client/**").addResourceLocations("/client/**");
}
}
但是當在我的index.html
文件我嘗試包括任何.js
或.css
文件,我從包括在點(2)
每個資源的服務器有404 ......如我所料...我不得不這樣做(3)
:
registry.addResourceHandler("client/**").addResourceLocations("/client/", "/client/login/", "/client/stuff/", //ecc... ecc...);
宣稱每一個通往我前臺每個資源的完整工作都非常完美!真的,我知道這很醜陋!
可以做一些像(1)
而不聲明每個單一資源路徑?
我欠你的。非常感謝! – grimi