# Vue





Vue apps created with `create-vue` or Vite output to `dist/` by default, which the CLI auto-detects.

Deploy [#deploy]

<Steps>
  <Step>
    Build your project [#build-your-project]

    ```bash
    npm run build
    ```
  </Step>

  <Step>
    Deploy to Sample.app [#deploy-to-sampleapp]

    ```bash
    samplex deploy
    ```

    Or specify explicitly:

    ```bash
    samplex deploy ./dist
    ```
  </Step>
</Steps>

Vue Router (history mode) [#vue-router-history-mode]

If you're using Vue Router in history mode, Sample.app's SPA fallback handles it automatically — all unmatched routes serve `/index.html`.

<Callout type="info">
  No server-side configuration or `404.html` workaround needed. SPA fallback is built in.
</Callout>

Custom output directory [#custom-output-directory]

If you've changed the output directory:

```ts title="vite.config.ts"
export default defineConfig({
  build: {
    outDir: "my-output",
  },
});
```

```bash
samplex deploy ./my-output
```
