IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> tailwindcss and postcss for 小程序第二个大版本发布啦 -> 正文阅读

[移动开发]tailwindcss and postcss for 小程序第二个大版本发布啦

图片

安装与配置

小程序使用?tailwindcss?只需三步:

第一步 - 安装

yarn?add?-D?tailwindcss@latest?postcss@latest?autoprefixer@latest?tailwindcss-miniprogram-preset@latest#?ornpm?install?-D?tailwindcss@latest?postcss@latest?autoprefixer@latest?tailwindcss-miniprogram-preset@latest

一些框架,如vue/cli,uni-app,**nuxt2(有postcss8插件)**用的Postcss7旧版本,则使用postcss7-compatibility-build

第二步 - 创建配置

创建

//?postcss.config.jsmodule.exports?=?{
??plugins:?{
????tailwindcss:?{},
????autoprefixer:?{},
??}}

初始化

npx?tailwindcss?init

使用

//?tailwind.config.jsconst?{?defaultPreset?}?=?require('tailwindcss-miniprogram-preset')/**?@type?{import('@types/tailwindcss/tailwind-config').TailwindConfig}?*/module.exports?=?{
??//...??presets:?[defaultPreset]
??//...}

第三步 - 引用 [wx|c|sc|le]ss

//?app.scss@tailwind?utilities;

然后在应用入口,如?App.vue?导入它即可。

接下来就能够看到,tailwindcss?愉快的运转了,安装?vscode?插件Tailwind CSS IntelliSense?后,所有的自定义的智能提示也出现了。

点击查看更详细的文档和Demo

一些细节

此?preset?自动带了一套?rem2rpx?的机制,开发者可以通过:

const?{?createPreset?}?=?require('tailwindcss-miniprogram-preset')

进行配置,如果您不想要此功能,可以把?rem2rpx?设置为?false

presets:?[createPreset({
??rem2rpx:?false})]

如果此时需要更加强大,且自定义的?rem2rpx?效果,可以使用?postcss-rem-to-responsive-pixel

它是一个用?ts?写的?postcss plugin,兼容?postcss8?,它能够让我们更加轻松的定制我们的转化策略。

如何使用呢?

在我们关闭?preset?的?rem2rpx?转化后,我们可以在?postcss.config.js?设置:

module.exports?=?{
??plugins:?[
????require('autoprefixer'),
????require('tailwindcss'),
????require('postcss-rem-to-responsive-pixel')({
??????rootValue:?32,?//?1rem?=?32rpx??????propList:?['*'],?//?所有的属性??????transformUnit:?'rpx'?//?转换单位为?rpx?,?默认为?px????})
??]}

这样也可以轻松愉快的达到效果,更多的配置请看文档

一些开发的碎碎念

最近在使用?Typescript?重构之前的开源项目和编写新的项目。

正好?tailwindcss-miniprogram-preset?当初是使用?js?撰写的,于是正好趁这个机会重构一下。

步骤

正如把大象塞进冰箱,只需要三步。js?项目转为?ts?项目也分几步走。

首先,我先撰写了一个?for npm cjs lib?的模板?npm-lib-template。

它是一个使用?ts?+?rollup?进行打包的工具链,主要的工作为 将?src?中代码引用到的文件,通过?tsc?node-resolve,alias?等等加工,最后输出为?cjs,esm?和?types,同时声明在?package.json?内(?main,module,types),这样开发者在使用时候,不论?package.json->type?,不论?require,还是?import … from?,都能够找到准确的包。

在参照?npm-lib-template?生成项目后,我们即可编写代码。

其中代码目录大致如下:

#?region?dirsdist?#?打包输出目录src?#?源代码目录bin?#?bin?的入口,使用?dist中的方法,一般就一行examples?#?案例目录scripts?#?辅助脚本目录test?#?测试目录,这里使用的是?jest#?除此之外还有类似?.github?,?coverage?的临时目录#?endregion?dirs

开始迁移

js?->?ts?很简单,类型补全 +?cjs->esm?就行。 但是却在tsconfig.json配置项这里遇到了坑。

发布beta版本

我们尚在测试中的?2.x?版本是不可能直接发布到?npm?的?latest?的,假如这时候的包存在一些Fatal级别的错误,用户在获取最新或者升级的时候,会获取到错误的版本,导致崩溃。

这时候我们就需要:

yarn pulish --tag beta

同时可以把要发布的版本号设置为:?2.0.0-beta.[x]

这样,我们获取的时候,只需要?yarn add -D [pkgName]@beta?就可以了。

发布v2

v2?相比?v1?版本,代码整体优化了许多,同时配置项更加的灵活,以适配不同的场景。

其中,用户可以自己传参去生成?preset?了,我们在?tailwind.config.js?中导入时,除了?defaultPreset?还有一个?createPreset,其中?defaultPreset?即?v1?版本的默认导出, 而?createPreset?就可以根据传的配置项,来决定:

  1. 是否需要?rem -> rpx

假如不需要这个预设来进行转化,且又有转化的需求,可以使用?postcss-rem-to-responsive-pixel?这个?postcss?插件。 在关闭预设的?rem2rpx?配置项后,只需要把这个插件运行在?tailwindcss?插件后就行(postcss插件的优先级)。

  1. 配置?rem -> rpx?的?rootValue?是多少,默认为?32

  2. 配置其他的一些选项

未来开发计划

下一步,把?jit?模式安排上。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-11-28 11:24:56  更:2021-11-28 11:26:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:24:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码