Nuxt3服务端渲染项目简单搭建

目录

1.准备阶段

2.创建项目

3.安装需要的模块

1)安装ArcoDesign/ElementPlus

2)安装tailwindcss

4.目录结构

5.网站TDK设置


本篇文章相关的官方网站:

1. nuxt3:Nuxt 中文站 - 直观的Web框架 Nuxt3文档 · Nuxt

2. vue3:https://cn.vuejs.org/

3. tailwindcss:Tailwind CSS - TailwindCSS中文文档

4.arcoDesign:Arco Design - 企业级产品的完整设计和开发解决方案

5.elementPlus:https://element-plus.org/zh-CN/

1.准备阶段

nvm多版本node管理工具:nvm详细安装使用教程(nvm-node多版本管理工具)

VSCode插件(在VSCode扩展中搜索即可安装):Vue - Official - Visual Studio Marketplace

目前我的相关版本配置(node/npm):

2.创建项目

1)运行命令pnpm dlx nuxi@latest init <project-name>

2)进入项目根目录,打开过控制台运行 pnpm i 安装包,在vscode中一样的

3)使用pnpm run dev 运行项目,正常启动可通过链接访问,初始化就完成了

4)app.vue修改(注释内容就是上图默认内容,可删除)

html 复制代码
<template>
  <!-- <div>
    <NuxtRouteAnnouncer />
    <NuxtWelcome />
  </div> -->
  <NuxtLayout>
    <NuxtPage />
  </NuxtLayout>
</template>

3.安装需要的模块

1)安装ArcoDesign/ElementPlus

ArcoDesign:pnpm add -D arco-design-nuxt-module

ElementPlus:pnpm install element-plus

pnpm install @element-plus/nuxt -D

安装完之后在nuxt.config.ts中添加

javascript 复制代码
export default defineNuxtConfig({
  // ...
  modules: [
    'arco-design-nuxt-module',
    '@element-plus/nuxt'
  ]
})

在项目跟目录下新建pages文件夹,pages下新建index.vue (新建页面需要重启才能加载出来,否则会报错)

html 复制代码
<script setup lang="ts"></script>

<template>
  <div>
    <!-- ArcoDesign测试 -->
    <a-button type="primary">ArcoDesign</a-button>
    <!-- ElementPlus测试 -->
    <el-button type="primary">ElementPlus</el-button>
  </div>
</template>

2)安装tailwindcss

pnpm add --save-dev @nuxtjs/tailwindcss

安装完之后在nuxt.config.ts中添加

javascript 复制代码
export default defineNuxtConfig({
  // ...
  modules: [
    '@nuxtjs/tailwindcss'
  ]
})

修改pages-->index.vue

javascript 复制代码
<script setup lang="ts"></script>

<template>
  <div class="w-80 h-80 bg-black flex justify-around items-center">
    <!-- ArcoDesign测试 -->
    <a-button type="primary">ArcoDesign</a-button>
    <!-- ElementPlus测试 -->
    <el-button type="primary">ElementPlus</el-button>
  </div>
</template>

像pinia,eslint,stylelint, prettier,dayjs,i18n...这些如有需要自行安装,这里就不再展示了

4.目录结构

官网:.nuxt/ · Nuxt 目录结构

5.网站TDK设置

nuxt.config.ts中修改

javascript 复制代码
export default defineNuxtConfig({
  // ...
  app: {
    head: {
      htmlAttrs: {
        lang: "zh-CN",
      },
      title: "网站title",
      charset: "utf-8",
      viewport:
        "width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0",
      meta: [
        { name: "description", content: "description" },
        { name: "keywords", content: "keywords,keywords" },
      ],
      // 网站图标
      link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }],
    },
    pageTransition: { name: "page", mode: "out-in" },
  },
})

注:简单看看就好!!!

相关推荐
程序员凡尘20 分钟前
完美解决 Array 方法 (map/filter/reduce) 不按预期工作 的正确解决方法,亲测有效!!!
前端·javascript·vue.js
编程零零七4 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
北岛寒沫5 小时前
JavaScript(JS)学习笔记 1(简单介绍 注释和输入输出语句 变量 数据类型 运算符 流程控制 数组)
javascript·笔记·学习
everyStudy5 小时前
JavaScript如何判断输入的是空格
开发语言·javascript·ecmascript
(⊙o⊙)~哦6 小时前
JavaScript substring() 方法
前端
无心使然云中漫步6 小时前
GIS OGC之WMTS地图服务,通过Capabilities XML描述文档,获取matrixIds,origin,计算resolutions
前端·javascript
Bug缔造者6 小时前
Element-ui el-table 全局表格排序
前端·javascript·vue.js
xnian_7 小时前
解决ruoyi-vue-pro-master框架引入报错,启动报错问题
前端·javascript·vue.js
罗政7 小时前
[附源码]超简洁个人博客网站搭建+SpringBoot+Vue前后端分离
vue.js·spring boot·后端
麒麟而非淇淋8 小时前
AJAX 入门 day1
前端·javascript·ajax