Nuxt 3 中 auto import 的 composables 为什么在组件里找不到?

皇甫歆艺 阅读 2

我在 Nuxt 3 项目里把一个自定义的 composable 放到了 composables/useAuth.js,按文档说应该自动导入,但在组件里直接调用 useAuth() 却报错说 not defined。明明没改过 autoImports 配置啊,是不是文件命名或位置有问题?

我的 composable 内容很简单:

export const useAuth = () => {
  const user = ref(null)
  return { user }
}
我来解答 赞 2 收藏
二维码
手机扫码查看
1 条解答
♫永伟
♫永伟 Lv1
问题在于 ref 没导入,Nuxt 3 不会自动导入 Vue 的响应式 API。

改成这样就行:

import { ref } from 'vue'

export const useAuth = () => {
const user = ref(null)
return { user }
}


或者更 nuxt 的写法,用 useState 替代 ref:

export const useAuth = () => {
const user = useState('user', () => null)
return { user }
}
点赞
2026-03-10 19:25