You need to enable JavaScript to run this app. TypeError: axiosCookieJarSupport is not a function,Node.js正常Vue页面报错如何解决
优惠活动
大模型
产品
解决方案
定价
更多

TypeError: axiosCookieJarSupport is not a function,Node.js正常Vue页面报错如何解决

问题原因

axios-cookiejar-support 是仅兼容Node.js运行时的工具库,依赖Node.js原生http/https模块实现CookieJar注入,本身不支持浏览器环境。你写在.vue文件中的代码默认会在服务端、客户端各执行一次,客户端加载该库时会失败,导出的default为undefined,调用时就会抛出TypeError: axiosCookieJarSupport is not a function的错误。

解决方案

根据你的业务场景选择对应方案即可:

场景1:登录逻辑在客户端触发(用户点击页面按钮登录)

浏览器本身会自动管理同源请求的Cookie,无需手动引入Cookie相关工具库,直接删除相关代码即可:

<script>
const qs = require('qs')

export default {
  methods: {
    async login () {
      const session = this.$axios.create({
        withCredentials: true // 跨域请求时开启即可,同域请求默认会自动携带Cookie
      })
      const res = await session.$post('/api/auth/login', qs.stringify({ username: '', password: '' }))
        .then((res) => {
          console.log(res)
        })
    }
  }
}
</script>

登录接口返回的Set-Cookie会被浏览器自动存储,后续同域请求也会自动携带对应Cookie,不需要手动处理。

场景2:登录逻辑必须在服务端执行(SSR/SSG阶段预拉取数据、服务端鉴权)

需要通过环境判断隔离客户端执行逻辑,仅在服务端加载对应依赖:

<script>
const qs = require('qs')
// 仅服务端加载依赖
let axiosCookieJarSupport, tough
if (process.server) {
  axiosCookieJarSupport = require('axios-cookiejar-support').default
  tough = require('tough-cookie')
}

export default {
  async asyncData({ $axios }) {
    // 仅服务端执行登录逻辑
    if (!process.server) return {}
    const session = $axios.create()
    axiosCookieJarSupport(session)
    session.defaults.jar = new tough.CookieJar()
    const res = await session.post("/api/auth/login", qs.stringify({username: '', password: ''}))
    return {
      userInfo: res.data
    }
  }
}
</script>

如果是Nuxt3环境,可以直接将这部分逻辑放到server/api目录下的服务端路由中,天然隔离客户端环境。

额外排查点

如果确认逻辑仅在服务端运行仍报错,可以执行以下操作排查:

  • 重新安装依赖确认安装完整:npm install axios-cookiejar-support tough-cookie
  • 检查版本兼容性:如果项目使用的axios版本低于1.0,可以降级安装对应兼容版本:npm install axios-cookiejar-support@1.0.1

内容的提问来源于stack exchange,提问作者Matty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 22:15:06