The vue plugin that attaches electron APIs to the Vue object, making them accessible to all components.
Switch branches/tags
Clone or download
SimulatedGREG Merge pull request #6 from Piterden/master
Replaced to defineProperties for modify prototype
Latest commit b8f11ff Sep 6, 2018

README.md

vue-electron

The vue plugin that wraps electron APIs to the Vue object.

js-standard-style

Need a full boilerplate for creating electron apps built with vue? Make sure to check out electron-vue.

https://github.com/SimulatedGREG/electron-vue

Installing

Install using NPM

npm install vue-electron --save

Include using webpack or browserify

main.js

import Vue from 'vue'
import VueElectron from 'vue-electron'

Vue.use(VueElectron)

Using the plugin

This plugin will attach electron APIs to the Vue object itself, so accessing all APIs is dead simple. All official documentation from electron can be used and accessed from this.$electron.

So instead of...

const electron = require('electron')

export default {
  methods: {
    getName () {
      return electron.remote.app.getName()
    }
  }
}

Now you can...

export default {
  methods: {
    getName () {
      return this.$electron.remote.app.getName()
    }
  }
}

Now you might be thinking, "Is it really that annoying to simply require electron to access it?" Probably not, but it can get cumbersome to have to include it in every component file that needs it. In the end, attaching electron directly to Vue just makes sense.