--- name: vite-plugin-uni-platform-modifier description: Platform modifiers for attributes and directives in uni-app - optimize bundle size by removing unused platform code --- # vite-plugin-uni-platform-modifier Add platform modifiers to attributes and directives for conditional compilation at the template level. Reduces bundle size by removing code for other platforms. ## Installation ```bash npm i -D @uni-helper/vite-plugin-uni-platform-modifier ``` ## Setup ```ts // vite.config.ts import Uni from '@dcloudio/vite-plugin-uni' import UniPlatformModifier from '@uni-helper/vite-plugin-uni-platform-modifier' import { defineConfig } from 'vite' export default defineConfig({ plugins: [UniPlatformModifier(), Uni()], }) ``` ## Platform Modifiers ### Directive Modifiers ```vue ``` ### Attribute Modifiers ```vue ``` ## Supported Platforms | Modifier | Platform | |----------|----------| | `.h5` | H5/Web | | `.mp-weixin` | WeChat Mini Program | | `.mp-alipay` | Alipay Mini Program | | `.mp-baidu` | Baidu Smart Program | | `.mp-toutiao` | Douyin Mini Program | | `.mp-qq` | QQ Mini Program | | `.app` | iOS/Android App | ## How It Works The plugin transforms templates at build time: ```vue H5 Only H5 Only ``` ## Use Cases - Platform-specific UI components - Different interactions per platform - Platform-optimized styles - Conditional event handlers ## Combining with Other Plugins ```ts // vite.config.ts export default defineConfig({ plugins: [ UniComponents(), UniPages(), UniPlatform(), // File-based platform UniPlatformModifier(), // Directive/attribute modifiers Uni(), ], }) ```