Add React Native Web support to Vite by removing Flow types, aliasing react-native to react-native-web and transforming .js files as .jsx files using ESBuild.
Just install it:
npm i vite-plugin-react-native-web -Dimport reactNativeWeb from "vite-plugin-react-native-web";
export default defineConfig({
plugins: [reactNativeWeb({ ... })],
});The plugin accepts an options object with the following optional properties:
enableExpoManualChunk(boolean): When set to true, this option enables manual chunking for expo-modules-core modules to optimize bundle size and loading performance. Default is true.
If you are getting errors please report them in the issues section.
The following variables are defined in the transformed files: (inferred during Vite's build process)
globalasself__DEV__asprocess.env.NODE_ENV === 'development'process.env.NODE_ENVasprocess.env.NODE_ENVprocess.env.EXPO_OSas"web"
Please feel free to contribute to this project. Just fork it and submit a PR.
MIT