vite-plugin-uni-rem
v1.0.0
Published
A Vite plugin to patch UniApp REM calculations
Maintainers
Readme
vite-plugin-uni-rem
English | 中文
A lightweight Vite plugin to patch UniApp REM calculations for better responsive design support.
Features
- 🔧 Patches UniApp's hardcoded font size calculations
- 📱 Improves RPX to REM conversion logic
- ⚡ Zero configuration required
- 🎯 Targets only UniApp core files
Installation
npm install vite-plugin-uni-rem --save-devUsage
Add the plugin to your vite.config.js:
// ES Module
import { defineConfig } from 'vite'
import uni from '@dcloudio/vite-plugin-uni'
import uniRemPlugin from 'vite-plugin-uni-rem'
export default defineConfig({
plugins: [
uni(),
uniRemPlugin()
]
})// CommonJS
const { defineConfig } = require('vite')
const uni = require('@dcloudio/vite-plugin-uni')
const uniRemPlugin = require('vite-plugin-uni-rem')
module.exports = defineConfig({
plugins: [
uni(),
uniRemPlugin()
]
})What it does
This plugin automatically patches UniApp's core files to:
- Font Size Calculation: Replaces hardcoded
23.4375divisor with configurablebaseWidth2 / 32 - RPX Conversion: Uses
rpxCalcBaseDeviceWidthfrom global config instead of hardcodedBASE_DEVICE_WIDTH
Technical Details
The plugin transforms files matching the pattern:
node_modules/@dcloudio/*/dist*/*.jsAnd applies these replacements:
width / 23.4375→width / (baseWidth2 / 32)number / BASE_DEVICE_WIDTH * width→number / checkValue((__uniConfig.globalStyle || {}).rpxCalcBaseDeviceWidth, BASE_DEVICE_WIDTH) * width
Compatibility
- ✅ Vite
- ✅ UniApp
License
MIT © xiashui
