Nocturnally Psychologizing Millipede

    vue-feathers

    0.1.0 • Public • Published

    vue-feathers

    Feathers is a minimalist real-time web framework written in JavaScript. Vue-Feathers is a plugin for Vue.js that integrates it with Feathers.

    NOTE: It's supposed to be compatible both with Vue 1.x and 2.x. It requires IE9+ or Safari 5+

    Install

    npm install vue-feathers --save

    Usage

    // Include and set up feathers client
    const Feathers = require('feathers/client')
    const hooks = require('feathers-hooks')
    const authentication = require('feathers-authentication/client')
    const socketio = require('feathers-socketio/client')
    const io = require('socket.io-client')
     
    const socket = io('http://localhost:3030/')
    const feathers = Feathers()
    .configure(socketio(socket))
    .configure(hooks())
    .configure(authentication({storage: window.localStorage}))
     
    // Include it as a CommonJS module
    const Vue = require('vue')
    const vueFeathers = require('vue-feathers')
     
    // And plug it in
    Vue.use(vueFeathers)

    Now in every component you get a new property called $services, which allows you to interact with all of your Feathers services:

    this.$services.messages.find()
     
    // or
     
    this.$services.messages.create(...)

    To subscribe on the events your services generate, you just need to use a separate feathers section in your component:

    export default {
      data() {
        return {
          ...
        }
      },
     
      methods: {
        ...
      }
     
      feathers: { // here is our section
        messages: { // here is the subsection for the 'messages' service
          created(data) {
            ...
          },
     
          updated(data) {
            ...
          }
        }
      }
    }

    Vue-feathers does all the clean up before your component is destroyed (using the removeListener function).

    In case you need to do something more complex, there is a $feathers property for that:

    this.$feathers.service('messages').on(...)

    License

    MIT

    Keywords

    Install

    npm i vue-feathers

    DownloadsWeekly Downloads

    31

    Version

    0.1.0

    License

    MIT

    Last publish

    Collaborators

    • troorl