当前位置: 首页 > backend >正文

【Nuxt3】安装 Naive UI 按需自动引入组件

 

目录

 

1. 安装 Naive UI 模块

2. 安装自动按需引入模块

3. 项目根目录下新建一个plugins目录,在目录下新建naive-ui.ts,将以下代码复制到naive-ui.ts中

4. (如未报错则忽略此项) 如果以上代码中process报错,执行下方命令

5.将以下代码复制到项目根目录下的nuxt.config.ts中 (主要查看复制 vite 中配置)

6. 随便复制 NaiveUI 官网示例代码测试查看效果


1. 安装 Naive UI 模块

npm i naive-ui

2. 安装自动按需引入模块

npm i unplugin-vue-components

3. 项目根目录下新建一个plugins目录,在目录下新建naive-ui.ts,将以下代码复制到naive-ui.ts中
 

import { setup } from '@css-render/vue3-ssr';
import { defineNuxtPlugin } from '#app';export default defineNuxtPlugin((nuxtApp) => {if (process.server && nuxtApp.ssrContext) {const { collect } = setup(nuxtApp.vueApp || {});// @ts-ignoreconst originalRender = nuxtApp.ssrContext.renderMeta?.bind(nuxtApp.ssrContext) || (() => ({}));nuxtApp.ssrContext.renderMeta = () => {// @ts-ignoreconst result = originalRender();// @ts-ignoreconst headTags = result?.headTags || "";return {headTags: headTags + collect()};};}
});

4. (如未报错则忽略此项) 如果以上代码中process报错,执行下方命令

npm add @types/node

5.将以下代码复制到项目根目录下的nuxt.config.ts中 (主要查看复制 vite 中配置

// https://nuxt.com/docs/api/configuration/nuxt-config
import Components from 'unplugin-vue-components/vite';
import { NaiveUiResolver } from 'unplugin-vue-components/resolvers';export default defineNuxtConfig({compatibilityDate: '2025-05-15',devtools: { enabled: false },build: {// 配置构建选项},components: true,modules: [// 配置使用的 Nuxt.js 模块],plugins: [// 配置使用的插件],router: {// 配置路由选项},vite: {plugins: [Components({resolvers: [NaiveUiResolver()] // 自动注册 components 目录下的组件})],ssr: {noExternal: ['moment','naive-ui','@juggle/resize-observer','@css-render/vue3-ssr']},envDir: '~/env', // 指定环境变量目录optimizeDeps: {include: ['@vicons/ionicons5']}}
});

6. 随便复制 NaiveUI 官网示例代码测试查看效果

http://www.xdnf.cn/news/7453.html

相关文章:

  • ThreadLocal 源码深度解析
  • Linux基础第四天
  • goldenDB创建函数索引报错问题
  • 鸿蒙 Background Tasks Kit(后台任务开发服务)
  • 北京本地 SEO 推广:从技术成本到效果转化的深度拆解
  • 从零训练一个大模型:DeepSeek 的技术路线与实践
  • 苏州SMT贴片加工服务选择指南
  • MCP详解
  • Python中的整型(int)和浮点数(float)
  • 哈希表和哈希函数
  • 养生攻略:打造活力健康日常
  • 《 二级指针:解锁指针的进阶魔法》
  • GPT/Claude3国内免费镜像站更新 亲测可用
  • 活学妙用——5W2H分析法
  • 【java第17集】java流程控制语句详解
  • 按键太频繁导致,报不应该报的错误!
  • 秒删node_modules 极速删除 (rimraf工具)
  • Linux grep 命令详解:常用选项、参数及实战场景
  • 基于SpringBoot的家政预约系统
  • 以下是 MySQL 中常用到的 英语单词和词组 的全面分类整理,涵盖数据库操作、SQL语句、函数、配置等核心内容
  • 监控易:一体化集成平台,打破运维壁垒
  • 通过子接口(Sub-Interface)实现三层接口与二层 VLAN 接口的通信
  • bat 批处理获取日期、时间
  • vue3自适应高度超出折叠功能
  • 【DNS寻址之旅】从敲下网址到网页呈现:DNS的“第一次亲密接触”**
  • 聊聊更新中断和更新事件那些事儿
  • 【C++】不推荐使用的std::allocator<void>
  • 对于程序员的个人理解
  • 机器学习第十七讲:PCA → 把100维数据压缩成3D视图仍保持主要特征
  • 【机器人】复现 3D-Mem 具身探索和推理 | 3D场景记忆 CVPR 2025