Iview-admin跨域问题

按照网上说的关闭本地模拟
设置devServer
接口和后端也一一对应。是指127.0.0.1也设过ip
设置DEV_URL也做了

后端做过跨域访问
保存后重新运行,一样提示跨域…闹死啦

思路:
1.后端创建WebMvcConfigurer接口的实现类;
2.重写addCorsMappings方法,添加代码如下:

registry.addMapping("/**")
                .allowedOrigins("*")
                .allowCredentials(true)
                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS", "HEAD")
                .maxAge(3600);

3.设置静态映射,参考:

registry.addResourceHandler("/examPic/agent/**").addResourceLocations("file:"+absPath);

1.项目运行不在更改太多了,折腾了一晚上,找到解决办法。
2.项目git完毕。
2.1打开config下的index.js修改
baseUrl: {
dev: '/api',//重点-----这里是请求后端接口的api,比如是127.0.0.1:8000/api/login/login
pro: 'https://produce.com'
},

2.2修改vue.config.js
后端接口示例:http://127.0.0.1:8000
devServer: {
historyApiFallback: true,
hot: true,
inline: true,
stats: { colors: true },
proxy: {
'/api': {
ws:false,
target: 'http://127.0.0.1:8000',
pathRewrite:{'^/api':'/api'},
changeOrigin: true
}
}
}

2.3关闭模拟数据,在main.js注释下面代码
if (process.env.NODE_ENV !== 'production') require('@/mock')

2.4更改后者添加接口,api文件下的user.js
export const login = ({ userName, password }) => {
const data = {
userName,
password
}
return axios.request({
url: '/login/login',//对应登录地址127.0.0.1:8000/api/login/login
data,
method: 'post'
})
}
重新运行项目就可以调去接口。亲测有效

img

img