Files
vue-cli/docs/guide/deployment.md
2018-06-08 00:48:34 -04:00

2.7 KiB

Deployment

General Guidelines

If you are using Vue CLI along with a backend framework that handles static assets as part of its deployment, all you need to do is making sure Vue CLI generates the built files in the correct location, and then follow the deployment instruction of your backend framework.

If you are developing your frontend app separately from your backend - i.e. your backend exposes an API for your frontend to talk to, then your frontend is essentially a purely static app. You can deploy the built content in the dist directory to any static file server, but make sure to set the correct baseUrl.

Previewing Locally

The dist directory is meant to be served by an HTTP server, so it will not work if you open dist/index.html directly over file:// protocol. The easiest way to preview your production build locally is using a Node.js static file server, for example serve:

npm install -g serve
# -s flag means serve it in Single-Page Application mode
# which deals with the routing problem below
serve -s dist

Routing with history.pushState

If you are using Vue Router in history mode, a simple static file server will fail. For example, if you used Vue Router with a route for /todos/42, the dev server has been configured to respond to localhost:3000/todos/42 properly, but a simple static server serving a production build will respond with a 404 instead.

To fix that, you will need to configure your production server to fallback to index.html for any requests that do not match a static file. The Vue Router docs provides configuration instructions for common server setups.

CORS

If your static frontend is deployed to a different domain from your backend API, you will need to properly configure CORS.

PWA

If you are using the PWA plugin, your app must be served over HTTPS so that Service Worker can be properly registered.

Platform Guides

GitHub Pages

TODO | Open to contribution.

GitLab Pages

TODO | Open to contribution.

Netlify

TODO | Open to contribution.

Also checkout vue-cli-plugin-netlify-lambda.

Amazon S3

See vue-cli-plugin-s3-deploy.

Azure

TODO | Open to contribution.

Firebase

TODO | Open to contribution.

Now

TODO | Open to contribution.

Stdlib

TODO | Open to contribution.

Heroku

TODO | Open to contribution.

Surge

TODO | Open to contribution.