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

HBuilder Cli创建的uniapp项目,引入unoCss插件

需要注意区分HBuilderX cliuni cli,本文使用的是HBuilderX cli
链接: link.

插件安装

// package.json"dependencies": {"unocss-preset-weapp": "^66.0.2"},"devDependencies": {"@unocss/preset-rem-to-px": "0.58.6","@unocss/transformer-directives": "0.58.6","@unocss/transformer-variant-group": "0.58.6","unocss": "^0.58.9"}

配置uno

根目录下(与main.js同级)创建uno.config.js文件。

/*** UnoCSS 配置定义文件* 用于配置 UnoCSS 的预设、转换器、快捷方式和规则*/import presetWeapp from "unocss-preset-weapp";
import presetRemToPx from "@unocss/preset-rem-to-px";
import { defineConfig, toEscapedSelector as e, presetUno } from "unocss";
import {transformerClass,transformerAttributify,
} from "unocss-preset-weapp/transformer";
import transformerVariantGroup from "@unocss/transformer-variant-group";
import transformerDirectives from "@unocss/transformer-directives";/*** 导出 UnoCSS 配置* @returns {Object} UnoCSS 配置对象*/
export default defineConfig({// 预设配置presets: [// UnoCSS 基础预设,禁用属性化模式presetUno({ dark: "class", attributify: false }),// 微信小程序专用预设presetWeapp(),// 将 rem 转换为 px 的预设,基础字体大小为 4pxpresetRemToPx({baseFontSize: 4,}),],// 转换器配置transformers: [// 属性化转换器transformerAttributify(),// 类名转换器transformerClass(),transformerVariantGroup(),transformerDirectives(),],// 快捷方式定义shortcuts: [{flexCenter: "flex items-center justify-center", // 居中布局column: "flex-col", // 垂直布局flow: "flex-row flex-nowrap items-center", // 水平流动布局width: "w-full", // 全宽height: "h-full", // 全高comAre: "w-full box-border", // 通用区域样式},],// 内容处理配置content: {pipeline: {// 包含的文件类型正则匹配include: [/\.(vue|svelte|[jt]sx|mdx?|astro|elm|php|phtml|html|ts)($|\?)/],},},// 自定义规则rules: [// 文本溢出显示省略号规则[/^overflow-ellipsis$/,([], { rawSelector }) => {const selector = e(rawSelector);return `${selector} {text-overflow: ellipsis;}`;},],// 灵活布局对齐规则[/^flex-(.*)$/,([, c], { rawSelector }) => {const selector = e(rawSelector);const justifyMap = ["flex-start","flex-end","center","space-between","space-around",];const corr = justifyMap.find((v) => v.includes(c));return `${selector} {justify-content: ${corr};}`;},],// 单行文本溢出隐藏规则[/^fontHide$/,([], { rawSelector }) => {const selector = e(rawSelector);return `${selector} {overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}`;},],// 两行文本溢出隐藏规则[/^fontHide2$/,([], { rawSelector }) => {const selector = e(rawSelector);return `${selector} {overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;}`;},],],
});

可以根据自己项目需求修改,也可以使用uno默认的配置。

main.js文件

引入插件

import "uno.css";

vite.config.js文件

import { defineConfig } from "vite";
import uni from "@dcloudio/vite-plugin-uni";
import Unocss from "unocss/vite";export default defineConfig(async () => {return {plugins: [uni(), Unocss()],define: {"process.env.VUE_APP_TEST": JSON.stringify("test"),},};
});

完成

到这就完成了,可以在.vue文件中配置使用了。

  <div class="flex color-red ml-30px" @click="loginFun()">登录页</div>

在这里插入图片描述

http://www.dtcms.com/a/268680.html

相关文章:

  • 在本地部署mcp服务器实现自然语言操作mysql数据库,轻松实现数据表的增~ 删~ 改~ 查~
  • 七牛云Java开发面试题及参考答案
  • Unity接入Steamworks.NET实现通信功能
  • C#和SQL Server连接常用通讯方式
  • MsSql 其他(2)
  • Excel 的多线程特性
  • JavaWeb笔记07
  • LLM(大语言模型)能识别图像的核心原因:图像和文本记性特征识别且对其
  • [C语言笔记]11、结构体
  • 实用机器学习
  • 算法————模拟算法
  • Oracle实用参考(13)——Oracle for Linux PSR及PSU升级
  • C++系列(七):深度探索C++内存 --- 分区、堆栈、new/delete与高效编程实践
  • 动态规划递归与迭代实现对比
  • Data Agent:从技术本质到企业级实践的全景解析
  • LeetCode Hot 100 除自身以外数组的乘积
  • 16th Day| 222.完全二叉树的节点个数,110.平衡二叉树,257.二叉树的所有路径,404.左叶子之和
  • 分布式推客系统架构设计:从微服务到高性能计算的实践路径
  • WebView 中 Cookie 丢失怎么办?跨域状态不同步的调试与修复经验
  • 6,Receiving Messages:@KafkaListener Annotation
  • 诊断工程师进阶篇 --- 车载诊断怎么与时俱进?
  • vue3 字符包含
  • vue openlayer 找出直线上的某一个点 , 点距离直线 最短路径的点 WKT坐标转换为GeoJSON坐标
  • iOS Widget 开发-1:什么是 iOS Widget?开发前的基本认知
  • 亚马逊运营进阶指南:如何用AI工具赋能广告运营
  • 期待在 VR 森林体验模拟中实现与森林的 “虚拟复现”​
  • 华锐视点 VR 污水处理技术对激发学习兴趣的作用​
  • 北京-4年功能测试2年空窗-报培训班学测开-第四十四天
  • UI + MCP Client + MCP Server实验案例
  • 【机器学习笔记 Ⅱ】11 决策树模型