starwork-uniapp/uno.config.ts

95 lines
2.9 KiB
TypeScript
Raw Normal View History

2024-12-31 10:05:55 +08:00
// uno.config.ts
import {
type Preset,
defineConfig,
presetUno,
presetAttributify,
presetIcons,
transformerDirectives,
2024-12-31 10:19:20 +08:00
transformerVariantGroup
2024-12-31 10:05:55 +08:00
} from 'unocss'
import { presetApplet, presetRemRpx, transformerAttributify } from 'unocss-applet'
// @see https://unocss.dev/presets/legacy-compat
// import { presetLegacyCompat } from '@unocss/preset-legacy-compat'
const isMp = process.env?.UNI_PLATFORM?.startsWith('mp') ?? false
const presets: Preset[] = []
if (isMp) {
// 使用小程序预设
presets.push(presetApplet(), presetRemRpx())
} else {
presets.push(
// 非小程序用官方预设
presetUno(),
// 支持css class属性化
2024-12-31 10:19:20 +08:00
presetAttributify()
2024-12-31 10:05:55 +08:00
)
}
export default defineConfig({
presets: [
...presets,
// 支持图标需要搭配图标库eg: @iconify-json/carbon, 使用 `<button class="i-carbon-sun dark:i-carbon-moon" />`
presetIcons({
scale: 1.2,
warn: true,
extraProperties: {
display: 'inline-block',
2024-12-31 10:19:20 +08:00
'vertical-align': 'middle'
}
})
2024-12-31 10:05:55 +08:00
// 将颜色函数 (rgb()和hsl()) 从空格分隔转换为逗号分隔更好的兼容性app端example
// `rgb(255 0 0)` -> `rgb(255, 0, 0)`
// `rgba(255 0 0 / 0.5)` -> `rgba(255, 0, 0, 0.5)`
// 与群友的正常写法冲突先去掉2024-05-25
// presetLegacyCompat({
// commaStyleColorFunction: true,
// }) as Preset,
],
/**
*
* @see https://github.com/unocss/unocss#shortcuts
*/
shortcuts: [['center', 'flex justify-center items-center']],
transformers: [
// 启用 @apply 功能
transformerDirectives(),
// 启用 () 分组功能
// 支持css class组合eg: `<div class="hover:(bg-gray-400 font-medium) font-(light mono)">测试 unocss</div>`
transformerVariantGroup(),
// Don't change the following order
transformerAttributify({
// 解决与第三方框架样式冲突问题
prefixedOnly: true,
2024-12-31 10:19:20 +08:00
prefix: 'fg'
})
2024-12-31 10:05:55 +08:00
],
rules: [
[
'p-safe',
{
padding:
2024-12-31 10:19:20 +08:00
'env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)'
}
2024-12-31 10:05:55 +08:00
],
['pt-safe', { 'padding-top': 'env(safe-area-inset-top)' }],
['pb-safe', { 'padding-bottom': 'env(safe-area-inset-bottom)' }],
2024-12-31 10:19:20 +08:00
['custom-color-black', { color: '#0d0f10' }],
['custom-color-grey', { color: '#505253' }],
['custom-color-blue', { color: '#255cf7' }],
['custom-bg-blue', { backGround: '#255cf7' }],
['custom-bg-default', { backGround: '#f3f5fa' }]
]
2024-12-31 10:05:55 +08:00
})
/**
*
* mp mt-4 => margin-top: 32rpx == 16px
* h5 mt-4 => margin-top: 1rem == 16px
*
* 稿 750稿1px1rpx
* rpx是响应式的
*/