Publish your web app
Edit page
Learn how to deploy your web app using EAS Hosting.
If you are building a universal app, you can quickly deploy your web app using EAS Hosting. It is a service for deploying web apps built with Expo Router and React.
1 requirement
1 requirement
expo.web.output in app.jsonIn your project's app.json, ensure that the
expo.web.output property is either static or
server.
Export your web project
To deploy your web app, you need to create a static build of your web project. Export your web project into a dist directory by running the following command:
- npx expo export --platform webRemember to re-run this command every time before deploying when you make changes to your web app.
Initial deployment
To publish your web app, run the following EAS CLI command:
- eas deployAfter running this command for the first time, you'll be prompted to select a preview subdomain for your project. This subdomain is a prefix used to create a preview URL and is used for production deployments. For example, in https://test-app--1234.expo.app, test-app is the preview subdomain.
Once your deployment is complete, the EAS CLI will output a preview URL to access your deployed app.
Production deployment
To create a production deployment, run the following EAS CLI command:
- eas deploy --prodOnce your deployment is complete, the EAS CLI will output a production URL to access your deployed app.
Deploy automatically
You can automatically deploy your app to the web with EAS Workflows. First, you'll need to configure your project, add a file named .eas/workflows/deploy-web.yml at the root of your project, then add the following workflow configuration:
name: Deploy web on: push: branches: ['main'] jobs: deploy_web: name: Deploy web type: deploy params: prod: true
The workflow above will create a web deployment on every commit to your project's main branch. You can also run this workflow manually with the following EAS CLI command:
- eas workflow:run deploy-web.ymlLearn more about common patterns with the workflows examples guide.
Learn more
You can learn more about setting up deployment aliases, using a custom domain, or deploying an API Route.