【随手记】uniapp + V3 使用TailwindCss3

目录


weapp-tailwindcss文档链接


一、CLI创建uniapp

bash 复制代码
npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project
npm install
npm run dev:h5

二、 安装TailwindCss3

bash 复制代码
npm install tailwindcss@3 postcss autoprefixer -D

三、初始化

  • 初始化TailwindCss、postcss,生成tailwind.config.jspostcss.config.js
bash 复制代码
npx tailwindcss init -p

tailwind.config.js

javascript 复制代码
/** @type {import('tailwindcss').Config} */
module.exports = {
  // 配置需要扫描的文件类型--即src下的所有vue、js、ts文件
  content: ['./public/index.html', './src/**/*.{html,js,ts,vue}'],
  // 自定义拓展配置
  theme: {
    // 覆盖默认配置
    colors: {
      'blue': '#3c9cff',
      'purple': '#7e5bef',
      'pink': '#ff49db',
      'orange': '#ff7849',
      'green': '#41B883',
      'yellow': '#ffc82c',
      'gray-dark': '#273444',
      'gray': '#8492a6',
      'gray-light': '#d3dce6',
    },
    // 新增额外配置
    extend: {
      // 扩展颜色
      colors: {
        'purple-pink': '#8135f5',
        'blue-light': '#9acafc'
      },
    },
  },
  // 配置插件
  plugins: [
    // 示例:自定义按钮样式:btn-primary <button class="btn-primary">点击我</button>
    function({ addComponents }) {
      addComponents({
        '.btn-primary': {
          '@apply bg-blue text-[#fff] font-bold rounded': '',
          '&:hover': {
            '@apply bg-blue-light' : '',
          }
        }
      })
    },
  ],
  // ...
  corePlugins: {
    // 小程序不需要 preflight,因为这主要是给 h5 的,如果你要同时开发小程序和 h5 端,你应该使用环境变量来控制它
    preflight: false
  }
}

postcss.config.js

javascript 复制代码
export default {
  plugins: {
    tailwindcss: {},
    autoprefixer: {},
  },
}

四、引用TailwindCss

uniappApp.vue文件:

css 复制代码
<style>
  @tailwind base;
  @tailwind components;
  @tailwind utilities;
</style>

五、安装weapp-tailwindcss

bash 复制代码
npm install weapp-tailwindcss -D

注意:如果tailwindcssweapp-tailwindcss 之后安装,可以手动执行一下 patch 方法,npx weapp-tw patch

package.json文件:

javascript 复制代码
"scripts": {
	// 用于rpx单位支持和上下文通信
   "postinstall": "weapp-tw patch"
 }

六、注册插件

vite.config.ts文件:

typescript 复制代码
import { defineConfig } from "vite";
import uni from "@dcloudio/vite-plugin-uni";
import { UnifiedViteWeappTailwindcssPlugin as uvwt } from 'weapp-tailwindcss/vite';

export default defineConfig({
  // uni 是 uni-app 官方插件, uvtw 一定要放在 uni 后,对生成文件进行处理
  plugins: [uni(),uvwt()],
  css: {
    postcss: {
      plugins: [
        // require('tailwindcss')() 和 require('tailwindcss') 等价的,表示什么参数都不传,如果你想传入参数
        // require('tailwindcss')({} <- 这个是postcss插件参数)
        require('tailwindcss'),
        require('autoprefixer')
      ],
    },
  },
});

七、使用TailwindCss

javascript 复制代码
<template>
  <view class="flex flex-col items-center justify-center h-screen">
    <image alt="Vue logo" src="@/static/logo.png" class="w-[200rpx] h-[200rpx]" />
    <view class="font-[600] text-[40rpx] my-3 flex items-center flex-wrap justify-center">
      <text class="text-green">vue 3</text>+ 
      <text class="text-blue">vite</text>+ 
      <text class="text-orange">typescript</text> +
      <text class="text-purple-pink">tailwindcss4</text>
    </view>
    <button class="btn-primary">点击我</button>
  </view>
</template>

相关推荐
宸翰8 小时前
解决 uni-app App 端 vue-i18n 占位符丢失:封装跨端可用的 tf 格式化方法
前端·vue.js·uni-app
时光足迹1 天前
uni-app 视频通话实战:康复师与患者视频问诊的 6 个致命 Bug 与解决方案
android·ios·uni-app
时光足迹1 天前
腾讯云 TRTC UniApp SDK 从入门到上线
前端·vue.js·uni-app
时光足迹1 天前
uni-app 里把加密视频嵌入页面播放?我分析了 4 种方案,只有 1 种接近完美
前端·vue.js·uni-app
时光足迹1 天前
JPush UniApp UTS 插件完全参考手册:API、事件与厂商通道一网打尽
vue.js·ios·uni-app
时光足迹1 天前
极光推送全攻略(下):uni-app 代码实现与 iOS 排查实战
vue.js·ios·uni-app
时光足迹1 天前
极光推送全攻略(上):被iOS证书折磨了三天,我写了一份前端也能看懂的避坑指南
前端·ios·uni-app
晓得迷路了2 天前
栗子前端技术周刊第 135 期 - Vite 8.1、Rspack 2.1、Babel 8.0...
前端·javascript·vite
ZhengEnCi2 天前
Q04-Vite禁用CSS代码分割-解决生产环境样式加载顺序混乱问题
前端·vue.js·vite
PedroQue993 天前
Vite插件体系1.0.0:API稳定,生产就绪
前端·vite