前后端分离开发是现在比较流行的一种方式,这样开发的前提是前端采取的是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/");
}
- 1
- 2
- 3
- 4
- 5
这种方式会在默认的基础上增加/mystatic/**
映射到classpath:/mystatic/
,不会影响默认的方式,可以同时使用。
2.静态资源是否被shiro拦截,千万要注意,shiro拦截器中如果被拦截了,放开资源时一定要写映射路径
springboot功能很强大,它自带serverlet 容器,打成jar包之后在windows系统下双击就能运行