How to make a Vue.js single page application (SPA) on Platform.sh
Goal
This guide shows how to deploy a Vue.js application on Platform.sh, using Vue CLI 3.
Assumptions
To go through this guide, you will need:
- An empty Platform.sh project (you can click here to start your free trial)
- Your SSH key loaded in your SSH agent and configured in the Platform.sh dashboard
- The Platform.sh CLI installed.
- The Vue CLI installed.
Steps
1. Create a Vue.js application
Create a new Vue.js project with Vue CLI (ignore this step if you want to deploy an existing Vue.js application on Platform.sh):
vue create vuejs-platformsh
cd vuejs-platformsh
Set the platform Git remote:
platform project:set-remote <project id>
Add the Platform.sh Vue plugin:
vue add platformsh
This plugin will add the Platform.sh configuration files to your project and extract the Platform.sh environment variables.
2. Deploy your application to Platform.sh
Commit and push your code to deploy your application:
git add --all
git commit -m "Vue.js on Platform.sh."
git push platform master
3. Test your application on Platform.sh
platform url
This opens a browser tab with your Vue.js application running.
4. Fetch Platform.sh environment variables
The plugin will automatically extract the Platform.sh environment variables.
To fetch those, you simply need to import the following package:
import platformshVar from 'platformsh_variables'
Conclusion
Using the Vue CLI, it’s very easy to setup and deploy a new or an existing Vue.js application on Platform.sh.
Comments
What about proper redirecting when Vue Router is in ‘history’ mode? I know that Platform has their own way of doing redirects, wondering whether I need to touch the routes.yaml file.
@modermo I think what you want is to add
passthruoption to theweblocationYAML object.That option will for all the routes to be passed to the index.html, and you can handle that route in your app.
For example:
Yann
@ yann-deshayes That works. Thanks for that.
I would consider including this in the above documentation, as getting History mode for a Vue SPA working on different server environments is a common but somewhat tricky endeavour.
Please sign in to leave a comment.