SuperAPI AI 工具集

expo-tailwind-setup

前端与建站

查看项目

更新于 10-15 17:25

技能介绍

用途:在 Expo/React Native 项目中引入 Tailwind CSS v4 与 NativeWind v5,用一套工具类同时服务 iOS、Android 和 Web;NativeWind 在构建时借助 react-native-css 把 Tailwind 类编译为 React Native 可用的样式,而非 WebView。适用于新项目、从 Tailwind 网页应用移植、构建跨端共享样式的通用应用,以及需要暗色模式、响应式或主题变量而避免手写 StyleSheet 的场景。

主要能力:支持 Flexbox、间距、尺寸、排版、颜色、边框、阴影(iOS,Android 用 elevation-*)、透明度、暗色模式、变换、过渡、任意值、active 状态和平台前缀 ios:/android:/web:。可用 @theme 定义设计令牌,用 CSS 变量做运行时主题,用 useColorScheme 以编程方式切换配色。

用法:新项目执行 npx create-expo-app@latest my-app,进入目录后执行 npx expo install nativewind tailwindcss react-native-css;已有项目直接执行安装命令。之后在根目录建立 global.css 并写入 @import "tailwindcss",在 app/_layout.tsx 中 import "../global.css",在 metro.config.js 中用 withNativeWind(config, { input: "./global.css" }) 包装默认配置;如未使用新 React 编译器,需在 babel.config.js 的 babel-preset-expo 中设置 jsxImportSource: "nativewind"。TypeScript 项目添加 /// <reference types="nativewind/types" />。对不接受 className 的第三方组件,可用 cssInterop(Component, { className: "style" }) 注册。

限制:移动端无 hover,按压缩放请用 active:;不支持 grid(用 Flexbox 加 flex-wrap)、backdrop-blur(可用 expo-blur)、CSS 动画关键帧(用 react-native-reanimated)和 ::before 伪元素;overflow: auto 需改用 ScrollView 或 FlatList。style 与 className 同时使用会覆盖同名属性。配置后若样式未生效,可执行 npx expo start --clear 清理 Metro 缓存。文档未提供收费、价格与具体平台版本信息。