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

Nuxt3中使用UnoCSS指南

Nuxt3中使用UnoCSS指南

UnoCSS是一个高度可定制的、原子化CSS引擎,可以轻松集成到Nuxt3项目中。下面介绍如何在Nuxt3中安装和配置UnoCSS。

安装步骤

安装UnoCSS的Nuxt模块:

# 使用pnpm
pnpm add -D unocss @unocss/nuxt# 使用yarn
yarn add -D unocss @unocss/nuxt# 使用npm
npm install -D unocss @unocss/nuxt# 使用bun
bun add -D unocss @unocss/nuxt

在这里插入图片描述

基础配置

nuxt.config.ts文件中添加UnoCSS模块:

export default defineNuxtConfig({modules: ['@unocss/nuxt',],
})

在这里插入图片描述

创建uno.config.ts配置文件:

import { defineConfig } from 'unocss'export default defineConfig({// UnoCSS配置选项
})

预设配置

你可以在nuxt.config.ts中直接配置UnoCSS,启用不同的预设:

export default defineNuxtConfig({modules: ['@unocss/nuxt',],unocss: {// 预设uno: true,            // 启用@unocss/preset-unoattributify: true,    // 启用@unocss/preset-attributifyicons: {              // 启用@unocss/preset-iconsextraProperties: {display: "inline-block",},customizations: {iconCustomizer(collection, icon, props) {// 默认图标大小props.width = "1.5em";props.height = "1.5em";},},},// 核心选项shortcuts: [],rules: [],},
})

安装图标预设(可选)

如果需要使用图标预设,需要额外安装:

pnpm add -D @unocss/preset-icons @iconify-json/mdi @iconify-json/mdi-light

使用rem转px预设(可选)

如果需要默认生成px单位而非rem单位:

  1. 安装rem转px预设:
npm i -D @unocss/preset-rem-to-px
  1. nuxt.config.ts中配置:
import presetUno from "@unocss/preset-uno";
import presetRemToPx from "@unocss/preset-rem-to-px";
import presetAttributify from "@unocss/preset-attributify";
import presetIcons from "@unocss/preset-icons";export default defineNuxtConfig({modules: ['@unocss/nuxt'],unocss: {presets: [presetUno(),presetAttributify(),presetIcons(),presetRemToPx(),],shortcuts: [],rules: [],},
})

VS Code智能提示

安装UnoCSS的VS Code扩展可以获得智能提示支持。如果遇到问题,在nuxt.config.js中添加:

// 添加以下代码以启用UnoCSS VS Code扩展
import { defineNuxtConfig } from "nuxt/config";

然后尝试禁用并重新启用扩展。

UnoCSS会自动注入uno.css入口文件,不需要手动导入。这种轻量级且高度可定制的CSS解决方案可以显著提高Nuxt3项目的开发效率。

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

相关文章:

  • 【Android】app调用wallpaperManager.setBitmap的隐藏权限
  • 基于 Nginx 的 WebSocket 反向代理实践
  • Android JIT( ART即时编译器),Just In Time Compiler,即时编译技术
  • 科学养生,开启健康生活新方式
  • Vue2+ElementUI实现无限级菜单
  • 物联网安全运营概览
  • STM32F103C8T6裸机多任务编程的问题
  • 【C++】异常
  • 目标检测原理简介
  • 哪些物联网框架支持多协议接入?选型指南与核心能力解析
  • 机器学习之二:指导式学习
  • 【Java 数据结构】List,ArrayList与顺序表
  • 系统架构设计中的ATAM方法:理论、实践与深度剖析
  • TRO再添新案 TME再拿下一热门IP,涉及Paddington多个商标
  • 冯·诺依曼与哈佛架构CPU的时序对比
  • Xilinx FPGA支持的FLASH型号汇总
  • Tortoise-ORM级联查询与预加载性能优化
  • 浅谈Java 内存管理:栈与堆,垃圾回收
  • Docker中修改OpenJDK 17 TLS禁用算法
  • Debian12.8如何部署Ragflow
  • 计算机网络 | 应用层(4)--DNS:因特网的目录服务
  • Tauri快速入门1 - 搭设开发环境
  • HTML与安全性:XSS、防御与最佳实践
  • Linux系统编程之内存映射
  • 深入浅出理解并应用自然语言处理(NLP)中的 Transformer 模型
  • 【Pandas】pandas DataFrame rdiv
  • 第6讲:科学配色基础——认识颜色空间(RGB、HSV、HCL)
  • AI图像编辑器 Luminar Neo 便携版 Win1.24.0.14794
  • Tableau 基础表制作
  • Java在云计算、大数据、云原生下的应用和优势 - 面试实战