Deploy a Vue SPA

Deploy a Vue SPA as a seenode static site. Build to dist, publish it, SPA routing on by default.

Last updated September 18, 2026

New to seenode? Start free: 7-day trial, no credit card. Static sites are $0.

This guide deploys an existing Vue SPA (typically Vite) as a static site. seenode runs your build and serves the files. You do not need Express or a start command.

Note (Need a Node server?)

If the app is an API or must run Node at request time, create a web service instead and follow Express.

Prerequisites

  • A seenode account
  • Git configured on your machine
  • A Vue project that builds to a folder (Vite default: dist)

Deploy on seenode

  1. Push to Git

    Commit the project and push it to GitHub or GitLab.

  2. Create a Static site

    From the dashboard, create a Static site and connect the repository.

  3. Build settings

    • Language: Node
    • Build command: npm install && npm run build
    • Publish directory: dist (or whatever vite.config sets as build.outDir )
    • Client-side routing (SPA): leave on so Vue Router history mode works

    VITE_* values you need in the client must be set in Envs before the build.

  4. Create

    Create the site and watch Logs until the build finishes.

Troubleshooting

  • 404 on client routes: leave SPA routing on, or add a rewrite /*/index.html on Routing.
  • Wrong or empty site: publish directory must contain index.html after the build.
  • Missing styles during build: Vite Vue defaults to src/style.css. Ensure it exists or fix the import.

Starting from scratch?

Follow the official Vue and Vite docs, then the steps above. An older Express template: example-vue-with-express.

Next steps