一次遇到 Uncaught SyntaxError: Unexpected token ‘<‘ 的解决方法
在项目中的文件引入问题,Uncaught SyntaxError: Unexpected token '
·
Uncaught SyntaxError: Unexpected token ‘<’ 文件引入异常
项目eblog。
使用技术:springboot + mybatis-plus + shiro + freemarker,页面使用layui框架,模板来源:fly社区
整合shiro实现用户的登录功能后,发现整个项目的静态资源全部失效,谷歌浏览器、ME浏览器 F12显示
最初以为是被shiro拦截了,因为在配置shiro之前,项目是正常的访问的,所以去shiro配置了静态文件路径可匿名访问 anon。但还是不行
shiro配置如下
@Configuration
public class ShiroConfig {
@Bean
public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager) {
ShiroFilterFactoryBean filterFactoryBean = new ShiroFilterFactoryBean();
filterFactoryBean.setSecurityManager(securityManager);
// 配置登录的url和登录成功的url
filterFactoryBean.setLoginUrl("/login");
filterFactoryBean.setSuccessUrl("/user/center");
// 配置未授权跳转页面
filterFactoryBean.setUnauthorizedUrl("/error/403");
Map<String, String> map = new LinkedHashMap<>();
map.put("/res/**", "anon");
map.put("/user/home", "authc");
map.put("/user/set", "authc");
map.put("/user/upload", "authc");
map.put("/login", "anon");
filterFactoryBean.setFilterChainDefinitionMap(map);
return filterFactoryBean;
}
}
经过修改和测试之后,排除了整个方向,换火狐浏览器,提示
好像有点头绪,但又说不出来。不太理解问题,看过一个文章说 可能是被shiro拦截后改变了文件类型,但目前来说确实不太理解。
最后通过复查代码。找到了问题在某个controller中一个请求方法的RequestMapping 处 没有写请求路径,添加上后,虽静态文件还是不可用,但未提示类型不对,此时的控制台提示 no mapping for get xxx.js , 大致就是提示找不到静态文件
此时想起来,之前为了文件上传添加了新的静态文件路径,添加上静态文件地址后,项目运行正常,不知道是不是因为自己新增了路径的原因。至此,问题解决。在此谴责一下自己的粗心大意。
@Configuration
public class MvcConfig implements WebMvcConfigurer {
@Autowired
Consts consts;
private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
"classpath:/META-INF/resources/", "classpath:/resources/",
"classpath:/static/", "classpath:/public/" };
/**
* 添加静态文件目录
*
* @param registry
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// if (!registry.hasMappingForPattern("/webjars/**")) {
// registry.addResourceHandler("/webjars/**").addResourceLocations(
// "classpath:/META-INF/resources/webjars/");
// }
if (!registry.hasMappingForPattern("/**")) {
registry.addResourceHandler("/**").addResourceLocations(
CLASSPATH_RESOURCE_LOCATIONS);
}
//头像文件路径访问
registry.addResourceHandler("/upload/avatar/**")
.addResourceLocations("file:///" + consts.getUploadDir() + "/avatar/");
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)