Vue粒子特效(vue-particles插件)

image.png

上圖中的點和線,是由vue-particles生成的,不僅自己動,而且能與用戶鼠標事件產生互動。

一、使用教程:

安裝

npm install vue-particles --save

在main.js里加入以下代碼:

import VueParticles from 'vue-particles'  
Vue.use(VueParticles)  

在使用的地方直接使用即可,如下:

<template>
  <div id="app">
    <vue-particles
        color="#fff"
        :particleOpacity="0.7"
        :particlesNumber="60"
        shapeType="circle"
        :particleSize="4"
        linesColor="#fff"
        :linesWidth="1"
        :lineLinked="true"
        :lineOpacity="0.4"
        :linesDistance="150"
        :moveSpeed="2"
        :hoverEffect="true"
        hoverMode="grab"
        :clickEffect="true"
        clickMode="push"
        class="lizi"
      >
      </vue-particles>
    <router-view></router-view>
  </div>
</template>
/*如果想做背景圖片 可以給標簽一個class 直接添加背景圖*/

二、屬性說明

  • color: String類型。默認'#dedede'。粒子顏色。
  • particleOpacity: Number類型。默認0.7。粒子透明度。
  • particlesNumber: Number類型。默認80。粒子數量。
  • shapeType: String類型。默認'circle'。可用的粒子外觀類型有:"circle","edge","triangle", "polygon","star"。
  • particleSize: Number類型。默認80。單個粒子大小。
  • linesColor: String類型。默認'#dedede'。線條顏色。
  • linesWidth: Number類型。默認1。線條寬度。
  • lineLinked: 布爾類型。默認true。連接線是否可用。
  • lineOpacity: Number類型。默認0.4。線條透明度。
  • linesDistance: Number類型。默認150。線條距離。
  • moveSpeed: Number類型。默認3。粒子運動速度。
  • hoverEffect: 布爾類型。默認true。是否有hover特效。
  • hoverMode: String類型。默認true。可用的hover模式有: "grab", "repulse", "bubble"。
  • clickEffect: 布爾類型。默認true。是否有click特效。
  • clickMode: String類型。默認true。可用的click模式有: "push", "remove", "repulse", "bubble"。

三、問題解決

1、問題及出現原因:

(1)問題:
解決項目上線后發現360瀏覽器及QQ瀏覽器的兼容模式下,頁面空白,瀏覽器會報:


image.png

(2)出現原因:
vue項目用到了很多es6的語法,IE內核的瀏覽器會無法解析

2、解決方法

(1)下載 babel-polyfill 模塊

npm install babel-polyfill -s

(2)配置 polyfill,在根目錄下新增babel.config.js文件

module.exports = {
  presets: [
    ['@vue/app', {
        useBuiltIns: 'entry'
    }]
  ]
}

(3)入口文件(main.js)

import '@babel/polyfill'

(4)重新打包項目,即可支持es6語法
——————————————————————分割線—————————————————————

如果上面仍然沒有解決,則是vue-particles本身的問題。
經過網上各處搜索得知,node_modules依賴中下載的vue-particles插件index.js文件存在問題。

文件目錄如下圖所示:


image.png

原vue-particles/index.js代碼如下:

import particles from ‘./vue-particles.vue‘

const VueParticles = {
    install (Vue, options) {
        Vue.component(‘vue-particles‘, particles)
    }
}

export default VueParticles

IE不支持install(){}這種寫法,故修改如下:

import particles from ‘./vue-particles.vue‘

const VueParticles = {
    install: function (Vue, options) {
        Vue.component(‘vue-particles‘, particles)
    }
}

export default VueParticles

最后,項目重新打包,問題就解決了。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。