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

VuePress2配置unocss的闭坑指南

文章目录

    • 1. 安装依赖:准备魔法材料
    • 2. 检查依赖版本一定要一致:确保魔法配方准确无误
    • 3. 新建uno.config.js:编写咒语书
    • 4. 配置config.js和client.js:完成仪式

1. 安装依赖:准备魔法材料

在开始我们的前端魔法之前,我们需要准备好所有必要的魔法材料——即安装正确的依赖项。这一步骤至关重要,因为它奠定了我们整个项目的基础。

首先,我们将引入unocss以及@unocss/preset-rem-to-px。后者是专门用来将rem单位转换为px的预设,因为UnoCSS默认使用的是rem单位,而有时我们可能更倾向于直接使用像素值来定义样式。尽管UnoCSS允许你通过类似m-l-10px的方式直接指定像素,但为了代码的一致性和可读性,使用预设来统一处理单位转换是一个更好的选择。

安装这两个依赖项非常简单,只需要运行以下命令:

pnpm add -D unocss @unocss/preset-rem-to-px

接下来,我们要特别关注VuePress与它的Vite打包器之间的版本兼容性问题。以下是推荐的devDependencies配置:

"devDependencies": {"@vuepress/bundler-vite": "2.0.0-rc.19","@vuepress/theme-default": "2.0.0-rc.49","sass-embedded": "^1.79.4","unocss": "^0.64.0","@unocss/preset-rem-to-px": "^0.64.0","vue": "^3.5.10","vuepress": "2.0.0-rc.19","vuepress-theme-plume": "1.0.0-rc.121"
}

这里强调的是@vuepress/bundler-vitevuepress两个包必须保持一致的版本号,以避免由于版本不匹配导致的白屏或其他异常错误。其他如主题等组件,则应该根据需要选择相匹配的版本。

2. 检查依赖版本一定要一致:确保魔法配方准确无误

在魔法世界中,配方的准确性决定了最终效果的成功与否。同样地,在前端开发里,依赖项的版本一致性也是至关重要的。正如前面提到的,@vuepress/bundler-vitevuepress必须具有相同的版本号。这是因为它们之间有着紧密的合作关系;一个负责构建工具链,另一个则是核心框架本身。如果两者版本不同步,可能会引发各种意想不到的问题,比如页面加载失败、样式错乱或是交互逻辑失效等。

此外,对于UnoCSS及其预设@unocss/preset-rem-to-px来说,也应尽量保证它们处于相同的主要版本系列内,这样可以最大限度地减少潜在冲突,确保功能正常运作。至于其他依赖,如Vue或特定的主题插件,则需根据官方文档或者社区反馈来决定最合适的版本组合。

3. 新建uno.config.js:编写咒语书

现在我们已经有了所有的魔法材料,接下来就是编写咒语书的时间了。在这个阶段,我们需要创建一个名为uno.config.js的文件,用于配置UnoCSS的行为。这份配置文件就像是魔法师手中的咒语书,它指导着UnoCSS如何为我们生成所需的样式规则。

以下是示例配置:

import { defineConfig, presetUno, presetAttributify } from 'unocss';
import presetRemToPx from '@unocss/preset-rem-to-px';export default defineConfig({presets: [presetUno(),presetAttributify(),presetRemToPx({baseFontSize: 4,}),],content: {filesystem: ["**/*.{html,vue,md}"],},
});

在这里,presetRemToPx被设置了一个基础字体大小为4px,这意味着当你写下像m-l-4这样的样式时,实际上就是在设定margin-left: 4px。这种做法不仅简化了样式控制,还提高了代码的可维护性和一致性。

4. 配置config.js和client.js:完成仪式

最后两步是为了确保一切顺利运行所做的收尾工作。首先是配置docs/.vuepress/config.js,这是VuePress站点的核心配置文件。我们将在此处引入UnoCSS并配置VuePress以使用Vite作为打包器。

import { viteBundler } from "@vuepress/bundler-vite";
import { defineUserConfig } from "vuepress";
import UnoCSS from 'unocss/vite';export default defineUserConfig({// 请不要忘记设置默认语言bundler: viteBundler({viteOptions: {plugins: [UnoCSS(),],},}),});

这段代码使得我们在启动VuePress站点时,能够正确加载UnoCSS插件,并利用Vite提供的快速热更新和其他优化特性。

紧接着,在docs/.vuepress/client.js中,我们还需要引入UnoCSS的样式文件。这一步类似于施法过程中的最后一个手势,标志着整个魔法仪式的完成。

import "virtual:uno.css";

这段简单的导入语句确保了当用户访问我们的网站时,UnoCSS的样式能够立即生效,从而为他们带来流畅且美观的浏览体验。

至此,我们已经完成了VuePress结合Vite打包器与UnoCSS的所有配置步骤。希望这篇指南能帮助你在前端开发的路上更加得心应手,创造出令人惊艳的作品。记住,每一次技术的选择都是一场新的冒险,愿你在这条道路上不断探索,发现更多可能性。
在这里插入图片描述

相关文章:

VuePress2配置unocss的闭坑指南

文章目录 1. 安装依赖:准备魔法材料2. 检查依赖版本一定要一致:确保魔法配方准确无误3. 新建uno.config.js:编写咒语书4. 配置config.js和client.js:完成仪式 1. 安装依赖:准备魔法材料 在开始我们的前端魔法之前&…...

海陵HLK-TX510人脸识别模块 stm32使用

一.主函数 #include "stm32f10x.h" // Device header #include "delay.h" #include "lcd.h" #include "dht11.h" #include "IOput.h" #include "usart.h" //#include "adc.h" …...

安卓14无法安装应用解决历程

客户手机基本情况: 安卓14,对应的 targetSdkVersion 34 前天遇到了安卓14适配问题,客户发来的截图是这样的 描述:无法安装我们公司的B应用。 型号:三星google美版 解决步骤: 1、寻找其他安卓14手机测试…...

【Linux】传输层协议UDP

目录 再谈端口号 端口号范围划分 UDP协议 UDP协议端格式 UDP的特点 UDP的缓冲区 UDP注意事项 进一步深刻理解 再谈端口号 在上图中,有两个客户端A和B,客户端A打开了两个浏览器,这两个客户端都访问同一个服务器,都访问服务…...

玩机搞机基本常识-------列举安卓机型一些不常用的adb联机命令

前面分享过很多 常用的adb命令,今天分享一些不经常使用的adb指令。以作备用 1---查看当前手机所有app包名 adb shell pm list package 2--查看当前机型所有apk包安装位置 adb shell pm list package -f 3--- 清除指定应用程序数据【例如清除浏览器应用的数据】 …...

unity学习14:unity里的C#脚本的几个基本生命周期方法, 脚本次序order等

目录 1 初始的C# 脚本 1.1 初始的C# 脚本 1.2 创建时2个默认的方法 2 常用的几个生命周期方法 2.1 脚本的生命周期 2.1.1 其中FixedUpdate 方法 的时间间隔,是在这设置的 2.2 c#的基本语法别搞混 2.2.1 基本的语法 2.2.2 内置的方法名,要求更严…...

pytorch 比较两个张量的是否相等的函数介绍

在 PyTorch 中,可以使用多种函数来比较两个张量是否相等,具体选择取决于对比较精度的需求以及可能的数值误差。以下是常用的比较方法: 1. 完全相等的比较 (1) torch.eq 逐元素比较两个张量是否相等,返回布尔张量。 import torc…...

MySQL Windows 11 的 MySQL 配置文件 (my.ini) 路径查找指南

✅ Windows 11 的 MySQL 配置文件 (my.ini) 路径查找指南 在 Windows 11 上,MySQL 的 ini 配置文件(通常是 my.ini 或 my.cnf)的位置取决于 MySQL 的安装方式。下面是一些常见的路径和方法来找到这个配置文件。 🔍 方法 1&#…...

06-RabbitMQ基础

目录 1.初识MQ 1.1.同步调用 1.2.异步调用 1.3.技术选型 2.RabbitMQ 2.1.安装 2.2.收发消息 2.2.1.交换机 2.2.2.队列 2.2.3.绑定关系 2.2.4.发送消息 2.3.数据隔离 2.3.1.用户管理 2.3.2.virtual host 3.SpringAMQP 3.1.导入Demo工程 3.2.快速入门 3.2.1.消…...

关于markdown实现页面跳转(调查测试:csdn(博客编写效果、发布效果)、typroa中md转pdf的使用情况)

一-方法介绍 [点击跳转到标题0](#1) <a href"#2">正文2</a>### <span id"2">标题0</span>二、跳转测试区 点击跳转到标题0 正文2 三、测试结果 场景MDspan-可标题写博客时候&#xff0c;右侧显示区效果可以发布博客的效果可以…...

el-dialog 组件 在<style lang=“scss“ scoped>标签

vue3 中使用element-plus的el-dialog 组件 <style> .el-dialog.plan-text-pdf .el-dialog__body {height: 1485px; // 需要在 style 标签写。 建议新增个类名 .plan-text-pdf 防止重复样式 } </style><style lang"scss" scoped> :deep() .el-dial…...

《深度学习梯度消失问题:原因与解决之道》

在深度学习的训练过程中&#xff0c;梯度消失是一个常见且棘手的问题&#xff0c;它会严重影响模型的训练效果和性能。以下是对该问题的原因分析与解决办法。 梯度消失问题的原因 首先是激活函数选择不当。像Sigmoid和Tanh这类传统激活函数&#xff0c;在输入值较大或较小时&…...

中高级运维工程师运维面试题(十一)之 Docker

目录 往期回顾前言基础知识1. 什么是 Docker&#xff1f;2. Docker 的核心组件有哪些&#xff1f;3. Docker 镜像和容器有什么区别&#xff1f;4. 什么是 Dockerfile&#xff1f; 高级知识5. 什么是多阶段构建&#xff1f;如何使用&#xff1f;6. Docker 网络有哪些模式&#x…...

Gitee图形界面上传(详细步骤)

目录 1.软件安装 2.安装顺序 3.创建仓库 4.克隆远程仓库到本地电脑 提交代码的三板斧 1.软件安装 Git - Downloads (git-scm.com) Download – TortoiseGit – Windows Shell Interface to Git 2.安装顺序 1. 首先安装git-2.33.1-64-bit.exe&#xff0c;顺序不能搞错2. …...

WebSocket 实现指南

WebSocket 实现指南 目录 1. 依赖安装 1.1 安装必要的包 # 安装 gorilla/websocket go get github.com/gorilla/websocket# 安装 gin 框架 go get github.com/gin-gonic/gin1.2 更新 go.mod require (github.com/gin-gonic/gin v1.9.1github.com/gorilla/websocket v1.5.3…...

TRELLIS - 生成 3D 作品的开源模型

TRELLIS 是一个大型 3D 资产生成模型。它接收文本或图像提示&#xff0c;并生成各种格式的高质量 3D 资产&#xff0c;例如 Radiance Fields、3D Gaussians 和网格。TRELLIS 的基石是统一的结构化 LATent &#xff08;SLAT&#xff09; 表示&#xff0c;它允许解码为不同的输出…...

uni-app图文列表到详情页面切换

需求&#xff1a;参考若依框架后&#xff0c;想实现首页浏览文章列表&#xff0c;没有合适的样式参考&#xff0c;所以需要有效果做到“图文列表到详情页面切换”&#xff0c;查阅了一下案例 发现有相应的案例&#xff0c;在导航栏“模板”中找到了 DCloud 插件市场 PC电脑端访…...

ros2-3.4话题通信最佳实践

3.4.1 工程架构设计 需求背景&#xff1a; 第一&#xff0c;通过这个小工具可以看到系统的实时状态信息包括记录信息的时间、主机名称、CPU使用率、内存使用率、内存总大小、剩余内存、网络接收数据量和网络发送数据量; 第二&#xff0c;要有一个简单的界面&#xff0c;可以将…...

Vmware安装centos

用来记录自己安装的过程 一、创建虚拟机安装centos镜像 点击完成后&#xff0c;等待一会会进入centos的系统初始化界面 二、centos初始化配置 三、配置网络 1、虚拟网络编辑器&#xff0c;开启VMnet1、VMnet8的DHCP vmware左上角工具栏&#xff0c;点击【编辑】->【虚拟网…...

51单片机——按键实验

由于机械点的弹性作用&#xff0c;按键开关在闭合时不会马上稳定的接通&#xff0c;在断开时也不会一下子断开&#xff0c;因而在闭合和断开的瞬间均伴随着一连串的抖动。抖动时间的长短由按键的机械特性决定的&#xff0c;一般为 5ms 到 10ms&#xff0c;为了确保 CPU 对按键的…...

【仅限首批参会者获取】:2026奇点大会AI原生审查沙箱环境访问权(含金融/医疗双领域合规审查模板)

第一章&#xff1a;2026奇点智能技术大会&#xff1a;AI原生代码审查 2026奇点智能技术大会(https://ml-summit.org) 在2026奇点智能技术大会上&#xff0c;“AI原生代码审查”不再作为辅助工具存在&#xff0c;而是深度嵌入软件开发生命周期的每个环节——从提交前的本地预检…...

MySQL 单表查询练习题汇总

一、练习数据表&#xff08;my_student_score&#xff09;表结构说明班级&#xff1a;高三 1-5 班&#xff08;共 5 个&#xff09;科目&#xff1a;语文、数学、英语、物理、化学、生物&#xff08;共 6 个&#xff09;数据量&#xff1a;300 条&#xff08;覆盖多班级、多科目…...

AI赋能测试也要做测试风险分析:选择不测什么比测什么更重要

&#x1f4dd; 面试求职&#xff1a; 「面试试题小程序」 &#xff0c;内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试&#xff0c;命中…...

怎样轻松掌握量化交易:5个实用技巧快速上手Lean交易引擎

怎样轻松掌握量化交易&#xff1a;5个实用技巧快速上手Lean交易引擎 【免费下载链接】Lean Lean Algorithmic Trading Engine by QuantConnect (Python, C#) 项目地址: https://gitcode.com/GitHub_Trending/le/Lean 你是否曾梦想过构建自己的量化交易策略&#xff0c;但…...

FanControl:Windows免费风扇控制软件终极指南,打造完美静音散热系统

FanControl&#xff1a;Windows免费风扇控制软件终极指南&#xff0c;打造完美静音散热系统 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcod…...

摄影镜头设计的‘平衡术’:我是如何用Zemax搞定三片物镜的像差优化难题的

摄影镜头设计的‘平衡术’&#xff1a;我是如何用Zemax搞定三片物镜的像差优化难题的 在光学设计的江湖里&#xff0c;三片式物镜就像一位深藏不露的高手——结构简单却暗藏玄机。去年接手一款工业检测镜头项目时&#xff0c;我原以为凭借Zemax的优化功能和过往双高斯镜头设计…...

避坑指南:达梦数据库Docker部署中的5个常见错误及解决方法

避坑指南&#xff1a;达梦数据库Docker部署中的5个常见错误及解决方法 在国产数据库技术快速发展的今天&#xff0c;达梦数据库凭借其优异的性能和兼容性&#xff0c;正成为越来越多企业的选择。而Docker技术的普及&#xff0c;则为达梦数据库的部署提供了更灵活、高效的解决方…...

Citra模拟器终极指南:5步快速上手畅玩3DS经典游戏

Citra模拟器终极指南&#xff1a;5步快速上手畅玩3DS经典游戏 【免费下载链接】citra A Nintendo 3DS Emulator 项目地址: https://gitcode.com/GitHub_Trending/ci/citra 想要在电脑上重温《精灵宝可梦》、《塞尔达传说》等任天堂3DS经典游戏吗&#xff1f;Citra模拟器…...

R语言建模总“跑不通”?3步定位环境污染源:从.Rprofile到Sys.getenv()的深度诊断手册

第一章&#xff1a;R语言建模环境“跑不通”现象的典型表现与危害R语言建模环境中的“跑不通”并非指语法错误导致的立即报错&#xff0c;而是一类隐蔽性强、复现性差、定位困难的系统性失配问题。这类问题常在跨平台迁移、版本升级或协作开发中集中爆发&#xff0c;表面看似代…...

LangChain揭秘:AI“大脑”+“手脚”+“记忆”,OpenClaw如何轻松打造智能助手?

LangChain是一个Python开发框架&#xff0c;用于定义AI流程、集成RAG&#xff08;知识库&#xff09;和Skills&#xff08;工具箱&#xff09;&#xff0c;控制逻辑。RAG提供信息&#xff0c;Skills执行任务。OpenClaw是集成RAG和Skills的完整AI助手框架&#xff0c;具备记忆和…...