1、在vue、react使用npm run build
打包
将dist包放入resources下
2、通过浏览器访问本地
在访问路径会出现404,打开dist包下的index.html发现打包后的指向样式不对,更改指向后,发现还是404
把拦截器修改为排除所有路径后,页面不再404,说明资源没有显示。修改资源静态映射指向dist后可以显示,但是路径上会显示
localhost:8999/dist/login
。
将所有请求路径添加映射后用localhost:8999/login
可以访问
完整配置代码
@Configuration
public class AppConfig implements WebMvcConfigurer {
@Autowired
private RedisTemplate<String, String> redisTemplate;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new TokenInterceptor(redisTemplate))
// 添加需要拦截的路径模式,表示所有以 "/api/" 开头的路径都会被拦截
.addPathPatterns("/api/**")
// 添加不需要拦截的路径模式,表示登录接口不会被拦截
.excludePathPatterns("/api/login");
}
@Bean
public CorsFilter corsFilter() {
CorsConfiguration config = new CorsConfiguration();
// 允许所有来源的请求
config.addAllowedOrigin("*");
// 允许所有 HTTP 方法
config.addAllowedMethod("*");
// 允许所有请求头
config.addAllowedHeader("*");
// 暴露自定义响应头 "token"
config.addExposedHeader("token");
UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
// 将 CORS 配置应用于所有路径
configSource.registerCorsConfiguration("/**", config);
return new CorsFilter(configSource);
}
@Override
public void addViewControllers(ViewControllerRegistry registry) {
// 将根路径 "/" 的请求重定向到 "/index.html"
registry.addViewController("/").setViewName("forward:/index.html");
WebMvcConfigurer.super.addViewControllers(registry);
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// 添加资源处理器,用于映射静态资源路径
registry.addResourceHandler("/**").addResourceLocations("classpath:/dist/");
WebMvcConfigurer.super.addResourceHandlers(registry);
}
标签:dist,springboot,路径,public,registry,new,config,放入
From: https://www.cnblogs.com/kangkin/p/18149435