Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sun0fabeach/vue-phaser3
Vue 3 + Phaser 3 + Webpack Template
https://github.com/sun0fabeach/vue-phaser3
boilerplate game-development phaser vue vue-cli webpack
Last synced: about 17 hours ago
JSON representation
Vue 3 + Phaser 3 + Webpack Template
- Host: GitHub
- URL: https://github.com/sun0fabeach/vue-phaser3
- Owner: Sun0fABeach
- License: mit
- Created: 2018-04-10T09:48:45.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-12-14T21:16:18.000Z (9 days ago)
- Last Synced: 2024-12-22T23:03:24.476Z (about 17 hours ago)
- Topics: boilerplate, game-development, phaser, vue, vue-cli, webpack
- Language: JavaScript
- Homepage:
- Size: 3.55 MB
- Stars: 226
- Watchers: 11
- Forks: 58
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# vue-phaser3
#### Webpack boilerplate that integrates Phaser 3 into a Vue 3 project.
This project template has been set up using the **Vue CLI 5** and includes:
* *Sass*
* *CSS Postprocessing*
* *Babel*
* *Source Minification*## Build Setup
``` bash
# install dependencies
npm install# serve with live reloading at localhost:8080
npm run serve# build for production with transpilation / minification
npm run build# serve your production build at localhost:5000
npm start
```## Extending the project to your needs
If you want to add more features like *linting*, *unit testing* or *Typescript* to
your own project, you can do so quite easily via Vue CLI's plugin system. Read
the documentation
if you want to know more.## Converting into your own repository
If you want to maintain your own repo based on this boilerplate, you first need
to detach it from this repo. Here is what you need to do:1. edit these files and enter your own project info
* *package.json*
* *README.md*
* *public/index.html*2. delete *LICENSE* (and perhaps add your own)
3. reinitialize git
rm -rf .git
git init
git add .
git commit -m "Initial commit"## Sharing data between Vue and Phaser
You might want to expose some game state that lives inside of your Phaser code
to your Vue components and vice versa, for example a highscore. Here are two
ways you can achieve sharing state between the frameworks.* Import a Phaser EventEmitter instance in
both your Vue components and Phaser modules. Both sides can then listen to and
emit events on that emitter.* Have both sides share a
Pinia store instance. It works like an event emitter, but can also hold
state. The Pinia store is nicely integrated into your Vue components and is easily
accessible on the Phaser side by applying the *useStore* hook.