Nuxt3-Admin - 创建第一个Nuxt3项目

我们根据nuxt官网的介绍,只需要按官网的步骤来创建自己的第一个项目就好!

前提条件

  • Node.js版本v16.10 以上
  • 开发工具 - 推荐 Visual Studio Code + Volar 扩展工具
  • 终端 - 用于执行nuxt命令,这个VS Code 有自带,或者用系统的Terminal也可以

首先我们打开终端执行命令

 npx nuxi@latest init <project-name>

初始化完成之后,执行

  • cd nuxt3-admin-template 进入项目根目录
  • 使用命令安装依赖 Install dependencies with npm install or yarn install or pnpm install
  • 启动项目 Start development server with npm run dev or yarn dev or pnpm run dev

很简单,你已经成功运行了你的第一个nuxt项目!打开浏览器输入
http://localhost:3000/

image.png

我们先来看初始化项目里面的文件。

  • public 用于存放公共文件和配置项目ico文件
  • server 可以自己开发服务API,或者服务端调用三方API,开发接口中间件等等。
  • app.vue 项目的主入口文件
  • nuxt.config.ts 项目的主要配置文件,配置全局模块,插件,环境变量,等等。
  • 其他我们后续涉及到再一一介绍

引入 NuxtTaiwind 和 ColorMode 主题配置

官网地址

安装

# 在终端中执行命令
npm install -D @nuxtjs/tailwindcss
# 安装完成之后需要在 nuxt.config.ts 文件中导入模块
{
    modules: ['@nuxtjs/tailwindcss']
}

新建配置tailwind.config.ts 文件在根目录,重写或自定义Taiwind css class 变量

#新增 nuxt.config.ts 配置

{
  ...,
  tailwindcss: {
    exposeConfig: true,
  },
}
# tailwind.config.ts 
import type { Config } from "tailwindcss";
// import defaultTheme from "tailwindcss/defaultTheme";
export default <Partial<Config>>{
  darkMode: "class",
  content: [
    "components/**/*.{vue,js,ts}",
    "layouts/**/*.vue",
    "pages/**/*.vue",
    "composables/**/*.{js,ts}",
    "plugins/**/*.{js,ts}",
    "App.{js,ts,vue}",
    "app.{js,ts,vue}",
    "Error.{js,ts,vue}",
    "error.{js,ts,vue}",
    "content/**/*.md",
  ],
  googleFonts: {
    families: {
      Roboto: true, // 配置全局google 字体,用 font-Roboto  来使用
    },
  },
  theme: {
    extend: { // 用来自定义或者重写样式
      colors: {}, 
    },
  },
};

让我们新建一个页面试一下效果

  • pages 文件夹,首先我们要在根目录新建一个pages 文件夹,用来管理后面所有的新页面,nuxt会自动根据pages下面的文件目录生成类似 vue-router的级联路由,具体查看Nuxt-Routing
  • 修改app.vue, 当我们新建好 pages/tailwind.vue后,
<template>
  <div class="text-center text-red-400">Tailwind</div>
</template>

访问 http://localhost:3000/tailwind 你会发现页面没有任何变化。因为 app.vue 是应用的主入口文件,当我们新建了自己的页面时,需要在app.vue里面加入<NuxtPage></NuxtPage>, 这个原理就和vue-router的<router-view></router-view> 类似。

<template>
  <div>
   <NuxtPage></NuxtPage>
    <NuxtWelcome />
  </div>
</template>

修改重新访问 http://localhost:3000/tailwind, 页面显示如下

image.png

发现我们新代码以及成功显示在顶部了。那接下来我们来开始下一步,映入nuxt-colorMode 实现系统主题切换

引入 color-mode 主题配置

# 终端运行命令
npm i @nuxtjs/color-mode -D
# 安装完成之后需要在 nuxt.config.ts 文件中导入模块
{
    modules: ['@nuxtjs/tailwindcss', "@nuxtjs/color-mode"],
    colorMode: {
        classSuffix: "",
    },
}

color-mode.vue

# color-mode.vue
<script setup>
const colorMode = useColorMode()
</script>

<template>
  <div class="bg-slate-400 dark:bg-red-500">
    <p class="p-4 pb-2">
      <select
        v-model="colorMode.preference"
        class="border w-24 h-8 dark:bg-gray-900 dark:text-white dark:border-gray-700"
      >
        <option value="system">System</option>
        <option value="light">Light</option>
        <option value="dark">Dark</option>
      </select>
    </p>
    <NuxtPage class="mx-auto p-4" />
  </div>
</template>

接下来我们新增一个页面pages/color-mode.vue 来测试效果

image.png

image.png

好了一切都正常的显示了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容