为什么Nuxt3的Auto Import找不到我定义的工具函数?

A. 一鸣 阅读 44

在Nuxt3项目里按文档配置了Auto Import,但当我尝试导入自己写的formatDate.js工具函数时,控制台报错Cannot find module '@/utils/formatDate'。明明文件路径是对的,重启服务也不行…

代码是这样写的:


// pages/index.vue

import { formatDate } from '@/utils/formatDate' // 这里报错

const now = formatDate(new Date())

已经确认:1. 文件确实存在于utils/formatDate.js 2. nuxt.config.ts里有autoImports: true 3. 其他组件的相对导入能正常工作。是不是Auto Import有特殊的路径规则?

我来解答 赞 5 收藏
二维码
手机扫码查看
2 条解答
玉萱 Dev
你误解了 Nuxt3 的 Auto Import 用法。utils 目录下的函数会被自动扫描导入,根本不需要写 import 语句,直接用就行。

改成这样:

// pages/index.vue
// 删掉 import 语句,直接调用

const now = formatDate(new Date())


如果非要手动导入,Nuxt3 的路径别名是 ~ 而不是 @,写成 import { formatDate } from '~/utils/formatDate'。但既然都开 Auto Import 了,多此一举干嘛。
点赞 1
2026-03-02 14:07
♫玉萱
♫玉萱 Lv1
问题在于Nuxt3的Auto Import不会自动扫描你的自定义工具函数,需要手动配置。在nuxt.config.ts里加上这个:

export default defineNuxtConfig({
imports: {
dirs: ['utils']
}
})


然后把formatDate.js改成默认导出:

// utils/formatDate.js
export default function formatDate(date) {
return new Date(date).toLocaleDateString()
}


最后重启服务,直接用formatDate()就行,不用再手动import。
点赞 10
2026-02-19 06:00