前后端分离开发是现在比较流行的一种方式,这样开发的前提是前端采取的是Ajax请求,前后端分离能省去很多不必要的麻烦,让开发者更关注与自己模块的开发。
但是开发完成之后需要合并,我用后端用的是Springboot 合并其实挺简单
这个是后端的文件目录
这个是前端的目录
合并时将用到的文件复制到后端的Resources目录的static或resource文件夹下
就是要注意一下里面的坑
1.合并之后静态资源无法访问,我就被这个问题困扰了好久。
解决方法,首先要再springboot的配置文件指定存放静态资源的位置,Springboot默认资源路径为/**
Spring Boot 默认配置的/**映射到classpath:/static(或classpath:/public,classpath:/resources,classpath:/META-INF/resources),/webjars/**会映射到classpath:/META-INF/resources/webjars/。
spring.mvc.static-path-pattern=/**
spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/, classpath:/static/,classpath:/static/view,classpath:/public/
以上指定的目录按照优先级以逗号隔开
spring.mvc.static-path-pattern=/**
表示所有访问都经过资源路径
还有一种方法就是自己新建一个配置类
你可以让你的配置类继承WebMvcConfigurerAdapter,然后重写如下方法:
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/mystatic/**")
.addResourceLocations("classpath:/mystatic/");
}
这种方式会在默认的基础上增加/mystatic/**映射到classpath:/mystatic/,不会影响默认的方式,可以同时使用。
2.静态资源是否被shiro拦截,千万要注意,shiro拦截器中如果被拦截了,放开资源时一定要写映射路径
springboot功能很强大,它自带serverlet 容器,打成jar包之后在windows系统下双击就能运行