自动导入

自动导入也是 Nuxt 的核心概念之一。

https://nuxt.com/docs/guide/concepts/auto-imports

自动导入是一项允许组件、组合式函数和 Vue.js API 在整个应用程序中被自动导入和使用的功能,无需显式导入。
与传统的全局声明不同,Nuxt 保留了类型信息、IDE 自动完成和提示,同时在生产代码中仅包含实际使用的内容。

得益于 Nuxt 的目录结构约定,components/composables/utils/ 可以被自动导入。
在这个例子中,在 components 目录中定义的 Counter.vue 组件和在 composables 目录中定义的 useCounter.ts 都是在没有显式导入的情况下使用的。
app.vue 中使用了 Counter 组件,而在 Counter.vue 中使用了 useCounter()

此外,Nuxt 提供了几个组件、组合式函数和工具函数。
一个例子是在路由部分介绍的 NuxtLink 组件。
其他例子包括用于数据获取的 useFetch() 组合式函数,用于访问运行时配置的 useRuntimeConfig(),以及用于页面导航的 navigateTo() 工具函数。
由于还有很多其他内容,请参阅 Nuxt 官方文档中关于 ComponentsComposablesUtils 部分的完整列表。

Nuxt 还支持显式导入,可以使用 #imports 进行。

import { computed, ref } from '#imports'

const count = ref(1)
const double = computed(() => count.value * 2)

可以在 nuxt.config.ts 中选择不使用自动导入功能。
在这种情况下,将需要像上面那样进行显式导入。

// nuxt.config.ts
export default defineNuxtConfig({
  imports: {
    autoImport: false
  }
})

挑战

尝试在 utils/double.ts 文件中实现一个可自动导入的函数。

你可以创建任何函数,但作为示例,让我们实现一个返回给定数字两倍的 double() 函数。
一旦你实现了该函数,在 app.vue 的模板部分使用它来在屏幕上显示加倍的值。

路由
中间件
Nuxt 提供的中间件功能允许你在页面导航前执行自定义代码。\n这个功能在需要根据用户登录状态限制页面访问等场景中特别有用。
文件
Editor
WebContainer 初始化
文件加载中
依赖安装中
Nuxt 服务启动中
等待 Nuxt 准备就绪
终端