vuemp
Universal Vue.js apps with server-side Vuex state
Last updated 3 months ago by buhrmi .
MIT · Repository · Bugs · Original npm · Tarball
$ cnpm install vuemp 
SYNC missed versions from official npm registry.

Vuemp (Vue-Multiplayer)

Vuemp lets you build universal Vue.js apps that maintain copies of your user's Vuex store server-side, with the ability to manipulate them in real-time using standard Vuex actions and mutators directly inside the server process.

It hooks into the way actions and mutations are handled by Vuex and changes it in the following way:

  • Actions are not being handled on the client anymore. Instead, they get dispatched to the server.
  • Mutations are performed on both the client side and the server-side

Features

This project is a fork of REAM, so it has all its features, plus:

  • Server-side Vuex state management

Install

npm install vuemp

Usage

To get started, add the following scripts to your package.json file.

{
  "scripts": {
    "build": "vuemp build",
    "start": "vuemp start",
    "dev": "vuemp dev"
  }
}

Then populate an src/index.js in your current working directory. It should export a router and store instance:

// Create a router configuration object
const createRouter = (context) => ({
  routes: [{
    path: '/',
    component: () => import('./Home.vue')
  }]
})

// Create a store configuration object
const createStore = (context) => ({
  state: {
    profile: {
      name: 'nobody'
    }
  },
  mutations: {
    setName (state, payload) {
      state.profile.name = payload
    }
  }
})

export default { createRouter, createStore }

Run npm run dev to start development server.

Now, when you mutate the store on the client, you will also see the mutation on the server's stdout.

To run in production server, run npm run build && npm start

Protocol

Mutations and actions are exchanged between client and server via simple socket.io messages.

(docs coming soon)

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Authors

vuemp © buhrmi, Released under the MIT License.
Authored and maintained by buhrmi

ream © egoist, Released under the MIT License.
Authored and maintained by egoist with help from contributors (list).

Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (51)
Dev Dependencies (4)
Dependents (0)
None

Copyright 2014 - 2017 © taobao.org |