UniApp配置使用原子化tailwindcss
参考视频
创建项目
新建项目选择uniapp - vue版本这里我选择3 - 点击创建即可
创建完成后,如果是要编译到小程序的项目则可以先将项目运行到小程序打开了
初始化package.json
执行
npm init -y
安装和配置
安装
npm i -D tailwindcss postcss autoprefixer
# 安装完成后再初始化 tailwind.config.js 文件
npx tailwindcss init
配置
在项目目录下创建 shared.js,代码如下,为了保证后面这个方法可以复用
import path from 'path'const resolve = (p) => {return path.resolve(__dirname, p)
}module.exports = {resolve
}
在项目根目录下创建vite.config.js,用于注册引用tailwindcss,代码如下:
import {defineConfig
} from 'vite';
import uni from '@dcloudio/vite-plugin-uni';
import {resolve
} from './shared.js'export default defineConfig({plugins: [uni()],css: {postcss: [require('tailwindcss')({config: resolve("./tailwind.config.js")}),require('autoprefixer')()]}
});
找到项目根目录下的 tailwind.config.js,这个在上面有初始化命令的,内容更改如下:
const {resolve
} = require('./shared.js')module.exports = {// 这里给出了一份 uni-app /taro 通用示例,具体要根据你自己项目的目录结构进行配置// 不在 content 包括的文件内,你编写的 class,是不会生成对应的css工具类的content: ['./public/index.html', './pages/**/*.{html,js,ts,jsx,tsx,vue}','./components/**/*.{html,js,ts,jsx,tsx,vue}'].map(resolve),// 其他配置项// ...corePlugins: {// 小程序不需要 preflight,因为这主要是给 h5 的,如果你要同时开发小程序和 h5 端,你应该使用环境变量来控制它preflight: false}
}
找到App.vue,配置tailwindcss全局生效
<script>export default {onLaunch: function() {console.log('App Launch')},onShow: function() {console.log('App Show')},onHide: function() {console.log('App Hide')}}
</script><style>@tailwind base;@tailwind components;@tailwind utilities;
</style>
插件安装
npm i -D weapp-tailwindcss
安装完成后,在package.json里面配置如下命令
"scripts": {"postinstall": "weapp-tw patch"}
注册
找到根目录下的vite.config.js,内容如下:
import {defineConfig
} from 'vite';
import uni from '@dcloudio/vite-plugin-uni';
import {resolve
} from './shared.js';
import {UnifiedViteWeappTailwindcssPlugin as uvwt
} from "weapp-tailwindcss/vite";export default defineConfig({plugins: [uni(), uvwt({// 由于 hbuilderx 会改变 process.cwd 所以这里必须传入当前目录的绝对路径// 上面参考视频没有这一个,但是不加的话会报错tailwindcssBasedir: __dirname})],css: {postcss: {plugins: [require('tailwindcss')({config: resolve("./tailwind.config.js")}),require('autoprefixer')()]}}
});
然后运行项目到浏览器或者小程序都是正常使用的了
相关文章:
UniApp配置使用原子化tailwindcss
参考视频 创建项目 新建项目选择uniapp - vue版本这里我选择3 - 点击创建即可 创建完成后,如果是要编译到小程序的项目则可以先将项目运行到小程序打开了 初始化package.json 执行 npm init -y安装和配置 安装 npm i -D tailwindcss postcss autoprefixer # 安…...
02. Docker:安装和操作
目录 一、Docker的安装方式 1、实验环境准备 1.1 关闭防火墙 1.2 可以访问网络 1.3 配置yum源 2、yum安装docker 2.1 安装docker服务 2.2 配置镜像加速 2.3 启动docker服务 3、二进制安装docker 3.1 下载或上传安装包并解压 3.2 配置使用systemctl管理 3.3 配置镜像…...
【MySQL中多表查询和函数】
目录 1.多表查询 1.1 外键 1.2 链接查询 2.MySQL函数 内置函数简介 数值函数 字符串函数 时间日期函数 条件判断操作 开窗函数 1.多表查询 本质:把多个表通过主外键关联关系链接(join)合并成一个大表,在去单表查询操作…...
加速科技精彩亮相ICCAD 2024
12月11日—12日 ,中国集成电路设计业的年度盛会——ICCAD 2024在上海世博馆隆重举行。本次活动以“智慧上海,芯动世界”为主旨,汇聚了众多业界精英,共同探讨集成电路产业的未来。作为半导体测试行业领军企业,加速科技携…...
免费下载 | 2024算网融合技术与产业白皮书
《2024算网融合技术与产业白皮书(2023年)》的核心内容概括如下: 算网融合发展概述: 各国细化算网战略,指引行业应用创新升级。 算网融合市场快速增长,算力互联成为投资新热点。 算网融合产业模式逐渐成型…...
Ubuntu系统下部署大语言模型:Ollama和OpenWebUI实现各大模型的人工智能自由
之前在window下安装过 Ollama和OpenWebUI搭建本地的人工智能web项目(可以看我之前写的文章),无奈电脑硬件配置太低,用qwen32b就很卡,卡出PPT了,于是又找了一台机器安装linux系统,在linux系统下测试一下速度能否可以快一些。 系统硬件介绍 Ubuntu 22.04.4 LTS CPU: i5…...
基于Mybatis,MybatisPlus实现数据库查询分页功能
基于Mybatis,MybatisPlus实现数据库查询分页功能 目录 基于Mybatis,MybatisPlus实现数据库查询分页功能使用Mybatis插件实现分页数据库准备分页插件配置和使用常用数据: 使用MybatisPlus插件实现分页数据库准备分页插件配置和使用自定义分页查…...
【razor】echo搭配relay功能分析
echo 要搭配relay 实现作者说relay在linux上跑,可以模拟丢包、延迟目前没看到如何模拟。relay监听9200,有俩作用 echopeer1 发relay,replay 把peer1的包给peer2 ,实现p2p能力。 接收端:采集后发送发给relay的 接收端的地址就是自己,的地址就是本地的9200,因此是让relay接…...
技术文档的定义和规范,以及技术文档模板参考
技术文档是指用于记录、传达和共享技术信息的文档,通常涵盖系统设计、开发过程、用户指南、维护手册等内容。技术文档的质量直接影响到项目的可维护性、可扩展性和团队的协作效率。以下是技术文档的定义和一些规范: 一、定义 技术文档是用于描述产品、系…...
基于windows环境使用nvm安装多版本nodejs
目录 前言 一、卸载node 二、nvm是什么? 三、nvm安装 1.官网下载 nvm 包 2. 安装nvm-setup.exe 3. 配置路径和下载镜像 4. 检查安装是否完成 四、 使用nvm安装node 五、修改npm默认镜像源为淘宝镜像 六、环境变量配置 1. 新建目录 2. 设置环境变量 七…...
力扣9. 回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数 是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文,而…...
C#—BitArray点阵列
C#—BitArray点阵列 在 C# 中,BitArray 类用来管理一个紧凑型的位值数组,数组中的值均为布尔类型,其中 true(1)表示此位为开启,false(0)表示此位为关闭。 当需要存储位(…...
国产自主可控新征程:华为原生鸿蒙系统与鲲鹏认证
华为于今年10月22日在深圳正式发布了其原生鸿蒙系统HarmonyOS NEXT。这是我国首个实现全栈自研的操作系统,标志着中国在操作系统领域取得了突破性进展。HarmonyOS NEXT 5.0的发布,使得鸿蒙操作系统成为继苹果iOS和安卓系统之后的全球第三大移动操作系统&…...
esxi8 虚拟机使用ubuntu22模板后 没有ip配置文件,只有ipv6链接正常使用
esxi8 虚拟机使用模板后 没有ip配置文件,只有ipv6链接正常使用,/etc/NetworkManager/system-connections配置下没有配置文件 只有/etc/netplan/有文件 sudo ip addr add 192.168.1.9/24 dev ens35 # 临时设置ip, 接口名ens35 sudo vi /et…...
【Qualcomm】IPQ5018查看连接终端RSSI、SNR、NF方法
IPQ5018 简介 IPQ5018 是高通(Qualcomm)公司推出的一款面向网络设备的系统级芯片(SoC)。它通常用于路由器、接入点和其他网络设备中,提供高性能的无线网络连接。以下是关于 IPQ5018 的一些关键特性和功能: 关键特性 高性能处理器 IPQ5018 集成了多核 CPU,通常是 ARM …...
【构建工具】现代开发的重要角色
你可能有所听闻构建工具,但是不知道是干什么的,或者是开发中用到了,大概会使用,但是想理解一下具体的工作原理等,那么我将分享一下我对其的理解。【 我将分为两篇来讲解】。 当我们谈到构建工具时,可以把它…...
【Linux系统】—— 初识 shell 与 Linux 中的用户
【Linux系统】—— 初识shell 与 Linux 中的用户 1 Xshell 运行原理1.1 命令行的组成1.2 外壳程序 2 Linux中的用户2.1 两种用户2.2 创建普通用户2.3 用户切换2.3.1 普通->超级2.3.2 超级->普通 3 指令的短暂提权3.1 为什么要提权3.2 sudo 指令3.3 人人都能提权吗 1 Xshe…...
二维码数据集,使用yolov,voc,coco标注,3044张各种二维码原始图片(未图像增强)
二维码数据集,使用yolov,voc,coco标注,3044张各种二维码原始图片(未图像增强) 数据集分割 训练组70% 2132图片 有效集20% 607图片 测试集10% 305图…...
Vue指令
创建项目: vue init webpack 项目名称 element-ui npm i element-ui -saxios npm i axios1.1.3 -S vuex npm i vuex3.6.2 -S vuex持久化 npm i -S vuex-persistedstate4.1.0代理模版 proxyTable: {/api: {target: http://localhost:8081/,changeOrigin: true,pathRe…...
数据保护策略:如何保障重要信息的安全
一、什么是数据安全? 数据安全是保护数字信息免遭盗窃、未经授权的访问和恶意修改的过程。这是一个持续的过程,负责监督信息的收集、存储和传输。 机密性:保护数据免遭未授权方访问。 完整性:保护数据免遭未经授权的修改、损坏…...
石墨烯这玩意儿在COMSOL里折腾起来挺有意思的,特别是搞太赫兹和近红外的同学估计都遇到过选模型的纠结。今天咱们就聊点实战经验,顺便甩点代码片段
Comsol石墨烯二维材料。 包含太赫兹德鲁得和近红外Kubo两种模型。 共7个案例,包含参考文献。先说说太赫兹波段常用的德鲁得模型,这货相当于把石墨烯当经典等离子体处理。在COMSOL里实现时,关键要设置表面电流密度: sigma_drude (…...
【STM32实战】步进电机S型曲线算法优化与误差补偿策略
1. 为什么需要S型曲线算法 我第一次用步进电机做项目时,直接给电机发固定频率的脉冲让它转起来。结果电机启动瞬间发出"咔咔"的异响,运行起来也一顿一顿的。后来才知道,步进电机最怕的就是突然加速或急停,这会导致丢步、…...
实战复盘:我是如何用Turbo Intruder的race.py脚本,5分钟挖到一个高并发订单漏洞的
高并发漏洞狩猎实录:从Turbo Intruder脚本调优到电商系统攻防实战 去年在一次众测项目中,我偶然发现某电商平台的积分兑换系统存在并发处理缺陷。这个漏洞最终被评级为高危,而整个挖掘过程只用了不到5分钟——关键就在于对Turbo Intruder的ra…...
解析 C++ 中的‘生存期保护’:利用生命周期注解规避 99% 的悬挂指针风险
解析 C 中的“生存期保护”:利用生命周期注解规避 99% 的悬挂指针风险尊敬的各位开发者,各位对 C 内存安全孜孜不倦的探索者们,大家好!在 C 的广阔世界中,指针和引用以其强大的能力,赋予了我们对内存的直接…...
别再让收款语音卡顿!UniApp + WebSocket 实现流畅支付播报的完整避坑指南
UniApp WebSocket 支付语音播报实战:从性能优化到高并发处理 在移动支付场景中,实时语音播报不仅是用户体验的关键环节,更是商户经营效率的重要保障。想象这样的场景:高峰时段,收银台前排队等待的顾客,收银…...
避坑指南:Ollama部署DeepSeek-R1时,如何安全地开放API端口给内网其他服务调用?
深度解析:Ollama部署DeepSeek-R1时内网API安全开放实战 当你在一台Linux服务器上成功部署了Ollama和DeepSeek-R1模型后,下一步自然是想让内网中的其他服务也能调用这个强大的AI能力。但直接开放端口就像把家门钥匙插在锁上——方便但危险。本文将带你深入…...
避坑指南:Xdocreport模板制作中的5个常见错误及解决方案
Xdocreport实战避坑指南:模板制作中的5个高频错误与深度解决方案 在Java生态中处理动态Word文档生成时,Xdocreport凭借其与MS Office的无缝兼容性和模板灵活性,已成为企业级文档自动化的重要工具。但许多开发者在从Freemarker迁移到Xdocrepor…...
从零到精通:Human Resource Machine 全关卡高效解法与思维跃迁指南
1. 为什么《Human Resource Machine》是程序员的最佳思维训练场 第一次打开《Human Resource Machine》时,我以为这不过是个披着编程外衣的小游戏。但当我卡在"第三年"的关卡整整一个下午后,才意识到这可能是最接近真实编程思维的训练场。这款…...
如何用Python爬取全国空气质量监测站数据(附完整代码与避坑指南)
Python实战:构建高稳定性的空气质量监测数据爬虫系统 清晨打开天气应用时,那些跳动的PM2.5数值背后,是遍布全国的空气质量监测站在持续工作。作为数据分析师或环境研究者,直接获取这些原始监测数据往往能发现更有价值的规律。但当…...
R语言新手必看:如何用pkgbuild和Sys.which检查并安装Rtools(附绑定教程)
R语言开发环境配置全指南:从Rtools安装到编译环境搭建 刚接触R语言的开发者,在尝试从源代码编译安装某些扩展包时,常常会遇到"make not found"之类的错误提示。这通常意味着系统缺少必要的编译工具链。本文将详细介绍如何在Windows…...
