A simple, canvas effect collection for Vue.js.



npm install vue-canvas-effect --save



On demand

Recommend ways
First, install babel-plugin-import

npm install babel-plugin-import --save-dev

Then edit .babelrc

// .babelrc
  "plugins": [["import", {
    "libraryName": "vue-canvas-effect",
    "libraryDirectory": "src/components"

Next, if you need neon, edit main.js

import Vue from 'vue'
import {neon} from 'vue-canvas-effect';
Vue.component(, neon);
Vue.component('customName', neon);
new Vue({
  el: '#app',
  render: h => h(App)

Fully import

no recommend ways

import Vue from 'vue'
import vueCanvas from 'vue-canvas-effect';
new Vue({
  el: '#app',
  render: h => h(App)

normal use

script tag

   <div id="app">
   <script src=""></script>
   <script src="../dist/neon.min.js"></script>
      new Vue({
           el: '#app'

Component List


name: neonEffect

// default tagName use
<neon-effect :options="options"></neon-effect>
//default options
          len: 20, //The unilateral length of the pentagon
          count: 50, //How many lines overlap
          rate: 20, //rate the smaller fast
          dieChance: 0.05, //The chance to redraw a single painting failure.
          sparkChance: 0.1, //[0,1] The larger the figure, the larger the pentagon.
          sparkDist: 10, //Flash point distance.
          sparkSize: 2,//Flash point size.
          contentLight: 60, // [0,100] Brightness of color block
          shadowToTimePropMult: 6, //The shadow size of the inner ring of the pentagon.
          bgColorArr: [0, 0, 0] //Background color array


name: bubblesEffect

// default tagName use
<bubbles-effect :options="options"></bubbles-effect>
//default options
          color: 'rgba(225,225,225,0.5)', //Bubble color
          radius: 15, //Bubble radius
          densety: 0.3, // The larger the bubble density, the greater the density (suggest no more than 1).
          clearOffset: 0.2 // The larger the bubble disappears [0-1], the longer it disappears.