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

image.png

上圖中的點(diǎn)和線,是由vue-particles生成的,不僅自己動(dòng),而且能與用戶鼠標(biāo)事件產(chǎn)生互動(dòng)。

一、使用教程:

安裝

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>
/*如果想做背景圖片 可以給標(biāo)簽一個(gè)class 直接添加背景圖*/

二、屬性說(shuō)明

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

三、問(wèn)題解決

1、問(wèn)題及出現(xiàn)原因:

(1)問(wèn)題:
解決項(xiàng)目上線后發(fā)現(xiàn)360瀏覽器及QQ瀏覽器的兼容模式下,頁(yè)面空白,瀏覽器會(huì)報(bào):


image.png

(2)出現(xiàn)原因:
vue項(xiàng)目用到了很多es6的語(yǔ)法,IE內(nèi)核的瀏覽器會(huì)無(wú)法解析

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)重新打包項(xiàng)目,即可支持es6語(yǔ)法
——————————————————————分割線—————————————————————

如果上面仍然沒(méi)有解決,則是vue-particles本身的問(wèn)題。
經(jīng)過(guò)網(wǎng)上各處搜索得知,node_modules依賴(lài)中下載的vue-particles插件index.js文件存在問(wèn)題。

文件目錄如下圖所示:


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(){}這種寫(xiě)法,故修改如下:

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

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

export default VueParticles

最后,項(xiàng)目重新打包,問(wèn)題就解決了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容