uniapp+unocss

uniapp+unocss

1.安装

安装unocss

npm i unocss --save-dev # with npm
yarn add unocss -D # with yarn
pnpm add unocss -D # with pnpm

安装unocss-applet

在小程序(UniApp 和 Taro)中使用UnoCSS,兼容不支持的语法。

npm i unocss-applet --save-dev # with npm
yarn add unocss-applet -D # with yarn
pnpm add unocss-applet -D # with pnpm

配置

在根目录新建uno.config.ts

import type { Preset, SourceCodeTransformer } from "unocss"
import { defineConfig, presetAttributify } from "unocss"

import { presetApplet, presetRemRpx, transformerAttributify } from "unocss-applet"

// uni-app,mp-开头的平台为小程序
const isApplet = process.env?.UNI_PLATFORM?.startsWith("mp-") ?? false

const presets: Preset[] = []
const transformers: SourceCodeTransformer[] = []

if (isApplet) {
  presets.push(presetApplet())
  presets.push(presetRemRpx())
  transformers.push(transformerAttributify({ ignoreAttributes: ["block"] }))
} else {
  presets.push(presetApplet())
  presets.push(presetAttributify())
  // h5模式,将rpx转换为rem
  presets.push(presetRemRpx({ mode: "rpx2rem" }))
}

export default defineConfig({
  presets: [
    // ...
    ...presets
  ],
  rules: [],
  transformers: [
    // ...
    ...transformers
  ]
})

通过这个语句判断启动的是不是小程序

const isApplet = process.env?.UNI_PLATFORM?.startsWith("mp-") ?? false

在vite.config.ts中引入

import UnoCSS from 'unocss/vite'

export default {
  plugins: [
    UnoCSS(),
  ],
}

在main.ts中引入

// main.ts
import "uno.css"

3.使用

在index.vue中使用

<template>
  <view class="pinia">
    <view class="name m-120rpx"> 用户名 </view>
  </view>
</template>

<script lang="ts" setup></script>

其中m-120rpx,在h5中会转换成rem,在小程序中为rem

4.想在里面使用tailwindcss中的某些语法

在一开始使用border-b-2是发现不生效,发现需要引入import "@unocss-applet/reset/uni-app/tailwind.css"
首先需要安装@unocss-applet/reset

npm i @unocss-applet/reset --save-dev # with npm
yarn add @unocss-applet/reset -D # with yarn
pnpm add @unocss-applet/reset -D # with pnpm

并且main.ts在引入

import { createSSRApp } from "vue"
import App from "./App.vue"
import store from "./store"
import { i18n } from "@/locales/index"
import "virtual:uno.css"
import "@unocss-applet/reset/uni-app/tailwind.css"  // 新增++
export function createApp() {
  const app = createSSRApp(App)
  app.use(i18n)
  app.use(store)
  return {
    app
  }
}
  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值