原生小程序开发如何使用 tailwindcss

原生小程序开发如何使用 tailwindcss
- 原生小程序开发如何使用 tailwindcss
- 前言
- 什么是
weapp-tailwindcss? - 0. 准备环境以及小程序项目
- 1. 安装与配置
tailwindcss- 0. 使用包管理器安装
tailwindcss - 1. 在项目目录下创建
postcss.config.js并注册tailwindcss - 2. 配置
tailwind.config.js - 3. 引入
tailwindcss
- 0. 使用包管理器安装
- 2. 安装这个插件并运行
- 安装插件
- 执行初始化命令
- 开始运行
- 想要了解更多
前言
很荣幸从 weapp-tailwindcss 的 3.2.0 版本开始
已经可以支持 微信开发者工具,直接创建的 小程序项目了 (包括 skyline 引擎)
什么是 weapp-tailwindcss ?
在我们日常的小程序开发中,由于小程序本身有自己的一套 独特的 技术规范标准。这导致你无法使用 web 中很多的特性。
你也无法 直接 使用像 tailwindcss 这种原子化 css 生成工具,来大幅加快你的开发速度。
而 weapp-tailwindcss 就能让你,在小程序开发中使用 tailwindcss 里的大部分 特性,加快开发小程序整体的效率。
从本质上来看,它是一个转义器。它负责把
tailwindcss中,所采集到的类名,以及生成的结果,转化成小程序中可以接受的方式。
现在,就让我们开始使用吧!
0. 准备环境以及小程序项目
首先,你需要准备 nodejs 环境,nodejs 官方下载地址
请确保你安装的 nodejs 版本 >=16.6.0。目前低于 16 的长期维护版本(偶数版本) 都已经结束了生命周期,建议安装 nodejs 的 LTS(目前是 20) 版本,
然后,你可以使用 微信开发者工具 创建一个小程序项目, 原生 js/ts 或者 skyline 的 js/ts 项目皆可。
这样我们的前置准备工作就完成了!
1. 安装与配置 tailwindcss
这里我们以最基础的 小程序
js项目为例,进行操作
0. 使用包管理器安装 tailwindcss
首先,假如你项目目录下,没有 package.json 文件, 你需要执行命令,或者手动创建一下:
运行 npm init -y 命令,快速创建一个 package.json 文件在你的项目下
然后执行:
# 使用你喜欢的任意 npm / yarn / pnpm
npm install -D tailwindcss postcss
# 初始化 tailwind.config.js 文件
npx tailwindcss init
这样 tailwindcss 就被安装到你项目本地了
1. 在项目目录下创建 postcss.config.js 并注册 tailwindcss
内容如下:
module.exports = {plugins: {tailwindcss: {},},
};
这个文件和 tailwind.config.js 平级
2. 配置 tailwind.config.js
tailwind.config.js 是 tailwindcss 的配置文件,我们可以在里面配置 tailwindcss 的各种行为。
这里给出了一份 微信小程序 通用示例,具体要根据你自己项目的目录结构进行配置
/** @type {import('tailwindcss').Config} */
module.exports = {// 假如你使用 ts 开发,则需要在下方的 glob 表达式中,把 ts 后缀配置进去content: ["**/*.{js,wxml}", "!node_modules/**", "!dist/**"],corePlugins: {// 小程序不需要 preflight,因为这主要是给 h5 的,如果你要同时开发小程序和 h5 端,你应该使用环境变量来控制它preflight: false,},
};
3. 引入 tailwindcss
在你的小程序项目入口 app.wxss 文件中,引入 tailwindcss 使它在小程序全局生效
@tailwind base;
@tailwind components;
@tailwind utilities;
接下来,赶紧进入下一步,安装 weapp-tailwindcss 并运行吧!
2. 安装这个插件并运行
安装插件
在项目目录下,执行:
# npm / yarn /pnpm
npm i -D weapp-tailwindcss @weapp-tailwindcss/cli
这样 weapp-tailwindcss 和 cli 工具就被安装在你的本地了
执行初始化命令
在命令行中运行
npx weapp-tw init
对现有的原生小程序项目,进行 weapp-tailwindcss 的初始化
执行后,会发现主要有三个文件改动,CLI 主要做了 3 件事情:
- 创建
weapp-tw.config.js文件,这个是@weapp-tailwindcss/cli的配置文件 - 修改
package.json, 添加dev和build开发和构建脚本, 和postinstall脚本 - 修改
project.config.json内容,来适配构建产物
开始运行
使用 npm run dev 进入开发模式, 此时是有热更新的,主要用于开发
使用 npm run build 进行构建
构建产物默认都在
dist目录
然后打开微信开发者工具,直接导入这个目录,即可预览效果!
想要了解更多
当然这个解决方案,其实不止限于微信开发者工具这个平台,也可以通过配置,适配更多的平台。
假如你想了解更多,欢迎访问 weapp-tw.icebreaker.top
或在 weapp-tailwindcss/discussions 中,与我们进行讨论,发表你的建议和意见。
PR is also Welcome!
相关文章:
原生小程序开发如何使用 tailwindcss
原生小程序开发如何使用 tailwindcss 原生小程序开发如何使用 tailwindcss 前言什么是 weapp-tailwindcss ?0. 准备环境以及小程序项目1. 安装与配置 tailwindcss 0. 使用包管理器安装 tailwindcss1. 在项目目录下创建 postcss.config.js 并注册 tailwindcss2. 配置 tailwind…...
spring alibaba中的seata分布式事务
Seata AT 模式设计思路 一阶段:业务数据和回滚日志记录在同一个本地事务中提交,释放本地锁和连接资源。 核心在于对业务sql进行解决解析,转换成undolog,并同时入库存 二阶段: 提交异步化,非常快速地完成…...
MQTT学习(二)
订阅主题和订阅确认 SUBSCRIBE——订阅主题 之前的CONNECT报文,分为 固定报头:必须存在,用于描述报文信息。里面有指出什么类型的报文,报文的等级。可变报头:不一定存在。主要看什么样子类型的报文。有效载荷部分&a…...
入职Java,不会git被开除了。。。
入职Java,不会git被开除了。。。 文章目录 入职Java,不会git被开除了。。。前言一、Git是什么?二、Git的核心概念三、Git的工作流程四、Git的常用命令五、总结 🌈你好呀!我是 山顶风景独好 💝欢迎来到我的博…...
Mysql 隔离级别
MySQL的事务隔离级别是指在处理并发事务时,为保证数据的一致性和事务的独立性,数据库系统提供的不同级别控制策略。根据ACID特性中的隔离性(Isolation),MySQL支持四种标准的事务隔离级别,每种级别有不同的并…...
每日一学—K邻算法:在风险传导中的创新应用与实践价值
文章目录 📋 前言🎯 K邻算法的实践意义🎯 创新应用与案例分析🔥 参与方式 📋 前言 在当今工业领域,图思维方式与图数据技术的应用日益广泛,成为图数据探索、挖掘与应用的坚实基础。本文旨在分享…...
基于Springboot的校园疫情防控信息管理系统(有报告)。Javaee项目,springboot项目。
演示视频: 基于Springboot的校园疫情防控信息管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层…...
【C++】内联函数、auto、范围for
文章目录 1.内联函数2.auto关键字2.1auto简介2.2auto的注意事项2.3auto不能推导的场景 3.基于范围的for循环(C11)4.指针空值nullptr(C11) 1.内联函数 概念: 以inline修饰的函数叫做内联函数,编译时C编译器会在调用内联函数的地方展开,没有函…...
Day 46 139.单词拆分
单词拆分 给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s “leet…...
streamlit报错:AxiosError: Request failed with status code 403
解决办法: 步骤一:创建config.toml vi ~/.streamlit/config.toml 步骤二:加入以下内容 [server] enableXsrfProtection false enableCORS false步骤三:重新启动你的streamlit网页...
java基础教学 |Java Stream API详解
Java Stream API 是Java 8引入的一个重要特性,它为集合对象提供了一种新的计算模型,使得开发者能够以声明性的方式处理数据集合。Stream API 不仅提高了代码的可读性和简洁性,还极大地优化了并行处理能力,让复杂的集合操作变得高效…...
0.0和0.00竟然不相等!!!BigDecimal别用错了比较方式
对于BigDecimal字段,可以使用compareTo()方法和equals()方法进行比较。但是要注意这两种方法的作用有所不同。一般都应该使用BigDecimal比较值,而不是使用经常用到的equals方法比较内容。 1.compareTo()方法 是用来比较两个BigDecimal对象的大小关系。…...
【多模态】30、Monkey | 支持大尺寸图像输入的多任务多模态大模型
文章目录 一、背景二、方法2.1 Enhancing Input Resolution2.2 Multi-level Description Generation2.3 Multi-task Training 三、效果3.1 Image Caption3.2 General VQA3.3 Scene Text-centric VQA3.4 Document-oriented VQA3.5 消融实验3.6 可视化 论文:Monkey : …...
PHP黑魔法之md5绕过
php本身是一种弱语言,这个特性决定了它的两个特点: 输入的参数都是当作字符串处理变量类型不需要声明,大部分时候都是通过函数进行类型转化php中的判断有两种: 松散比较:只需要值相同即可,类型不必相同,不通类型比较会先转化为同类型,比如全数字字符串和数字比较,会比…...
【适用全主题】WordPress原创插件:弹窗通知插件 支持内容自定义
内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 适用于所有WordPress主题的弹窗插件 一款WordPress原创插件:弹窗通知插件 支持内容自定义 二、效果展示 1.部分代码 代码如下(示例)࿱…...
定时器的理论和使用
文章目录 一、定时器理论1.1定时器创建和使用 二、定时器实践2.1周期触发定时器2.2按键消抖 一、定时器理论 定时器是一种允许在特定时间间隔后或在将来的某个时间点调用回调函数的机制。对于需要周期性任务或延迟执行任务的嵌入式应用程序特别有用。 软件定时器: …...
【架构-17】通信系统架构设计理论
通信系统网络架构 1. 局域网网络架构 拓扑结构:星型、总线型、环型、树型。 网络架构:单核心架构(结构简单,地理范围受限)、双核心架构(网络拓扑结构可靠,投资较单核高)、环型架构…...
网络中的基本概念
网络初识 局域网:把若干个电脑组成在一起,通过路由器进行组网。 广域网:把局域网进一步的连接,构成更复杂的网络体系。 IP地址:区分主机。 端口号:区分主机上不同的程序。 协议:是一种约定&…...
手撸XXL-JOB(二)——定时任务管理
在上一节中,我们介绍了SpringBoot中关于定时任务的执行方式,以及ScheduledExecutorService接口提供的定时任务执行方法。假设我们现在要写类似XXL-JOB这样的任务调度平台,那么,对于任务的管理,是尤为重要的。接下来我们…...
DEV--C++小游戏(吃星星(0.2))
目录 吃星星(0.2) 简介 本次更新 分部代码 头文件(增) 命名空间变量(增) 副函数(新,增) 清屏函数 打印地图函数(增) 移动函数 选择颜色…...
开源工具提升下载效率:多网盘直链获取方案实现下载效率提升60%
开源工具提升下载效率:多网盘直链获取方案实现下载效率提升60% 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘…...
终极RPG Maker解密工具:零基础快速提取游戏资源完整指南
终极RPG Maker解密工具:零基础快速提取游戏资源完整指南 【免费下载链接】RPGMakerDecrypter Tool for decrypting and extracting RPG Maker XP, VX and VX Ace encrypted archives and MV and MZ encrypted files. 项目地址: https://gitcode.com/gh_mirrors/rp…...
PyPika数据分析利器:如何使用聚合函数和分组查询
PyPika数据分析利器:如何使用聚合函数和分组查询 【免费下载链接】pypika PyPika is a python SQL query builder that exposes the full richness of the SQL language using a syntax that reflects the resulting query. PyPika excels at all sorts of SQL quer…...
Feather生态系统探索:从R包到Python包装器的完整技术栈
Feather生态系统探索:从R包到Python包装器的完整技术栈 【免费下载链接】feather wesm/feather: 是一个用于在 Python 和 R 之间传输数据的轻量级数据格式库。适合对数据科学和数据分析有兴趣的人,特别是需要在 Python 和 R 之间进行数据交换的人。特点是…...
歌词工具颠覆体验:LRCGet本地音乐歌词同步与音乐管理全攻略
歌词工具颠覆体验:LRCGet本地音乐歌词同步与音乐管理全攻略 【免费下载链接】lrcget Utility for mass-downloading LRC synced lyrics for your offline music library. 项目地址: https://gitcode.com/gh_mirrors/lr/lrcget 在数字音乐时代,本地…...
GLM-4-9B-Chat-1M镜像升级路径:从GLM-4-9B-Chat到1M版本的权重转换与验证
GLM-4-9B-Chat-1M镜像升级路径:从GLM-4-9B-Chat到1M版本的权重转换与验证 如果你正在使用GLM-4-9B-Chat模型,并且被它128K的上下文长度所吸引,那么现在有个好消息:它的“超级加强版”来了。GLM-4-9B-Chat-1M版本,直接…...
ComfyUI-Manager下载加速技术全解析:3种方案实现8倍效率提升的低难度指南
ComfyUI-Manager下载加速技术全解析:3种方案实现8倍效率提升的低难度指南 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and en…...
BetterGI原神智能辅助工具完整教程:5大核心功能快速上手
BetterGI原神智能辅助工具完整教程:5大核心功能快速上手 【免费下载链接】better-genshin-impact 📦BetterGI 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 | 全连音游 -…...
Linux实现简易版Shell的代码详解
一、程序流程分析我们日常使用Bash时,通过输入命令执行相应的操作,比如:那么,Bash是如何进行工作的呢?观察一下,就会发现,首先Bash会打印命令行提示符,包括当前用户、主机名以及路径…...
外贸企业如何提高搜索引擎优化效果_外贸企业如何利用社交媒体进行SEO优化
外贸企业如何提高搜索引擎优化效果 在当今数字化时代,外贸企业为了在全球市场中脱颖而出,如何提高搜索引擎优化(SEO)效果成为了关键问题。搜索引擎优化不仅仅是为了提升网站在搜索结果中的排名,更是为了吸引更多的潜在…...
