Nuxt.js认证搭配@nuxt/proxy不生效,登录请求未按配置转发问题咨询
问题根因与解决方案
核心问题
你的modules数组加载顺序错误,@nuxtjs/auth-next依赖@nuxtjs/axios,但你把@nuxtjs/auth-next放在了@nuxtjs/axios之前加载,导致auth初始化时axios的proxy配置还未生效,auth使用的axios实例默认请求本地localhost:3000,没有走代理规则。
修复步骤
- 第一步:调整
nuxt.config.js中modules的加载顺序,把axios和proxy放在auth前面:
modules: ['@nuxt/content', '@nuxtjs/axios', '@nuxtjs/proxy', '@nuxtjs/auth-next'],
- 第二步:修正proxy路径映射逻辑(可选,根据你的实际后端接口规则调整):
你当前.env中dbURL配置为https://something.com/db/,同时proxy配置了pathRewrite: { "^/db/": "" },最终转发的请求地址会变成https://something.com/db/Users/login,如果你的后端接口路径不需要前缀/db,把.env里的dbURL改为https://something.com/即可。 - 第三步:重启Nuxt开发服务,配置修改后必须重启才能生效。
补充验证点
如果修改后还是不生效,可以在auth配置中显式指定不对endpoints添加前缀,避免默认配置覆盖:
auth: { strategies: { local: { // 原有配置保留,新增下面一行 baseURL: '', endpoints: { // 原有endpoints配置保留 } } } }
内容的提问来源于stack exchange,提问作者fray
相关产品推荐
相关产品推荐

