目次
最初のステップ:particles.js を導入します
2 番目のステップ:node_modules でarticles.js を見つけます
ステップ 3: プロジェクト コンポーネントの下にパーティクル ディレクトリを作成します
あーあーあーる
ホームページ ウェブフロントエンド Vue.js vue3 でパーティクル特殊効果を使用する際の問題を解決する方法

vue3 でパーティクル特殊効果を使用する際の問題を解決する方法

May 10, 2023 am 10:37 AM
vue3 particles

vue-particles は内部的に require API を使用しています. Vue3 は require を完全に放棄し commonJSes6 を採用しました. 1 か所を変更すると他の場所で問題が発生します。

最初のステップ:particles.js を導入します

npm i particles.js
or
yarn add particles.js
ログイン後にコピー

2 番目のステップ:node_modules でarticles.js を見つけます

取得:

vue3 でパーティクル特殊効果を使用する際の問題を解決する方法

これを取得したら、npm uninstallarticles.js を使用して依存関係を削除できます

ステップ 3: プロジェクト コンポーネントの下にパーティクル ディレクトリを作成します

見つかったarticles.jsを配置した後、同じレベルのディレクトリにindex.vueとparticles.jsonを作成します:

vue3 でパーティクル特殊効果を使用する際の問題を解決する方法

# # ステップ 4: 次の内容をindex.vueに書き込みます

<template>
  <div class="particles-js-box">
    <div id="particles-js"></div>
  </div>
</template>
ログイン後にコピー
<script>
/* eslint-disable */
import particlesJs from "./particles.js";
import particlesConfig from "./particles.json";
export default {
  data() {
    return {};
  },
  mounted() {
    this.init();
  },
  methods: {
    init() {
      particlesJS("particles-js", particlesConfig);
      document.body.style.overflow = "hidden";
    },
  },
};
</script>
ログイン後にコピー
<style scoped>
.particles-js-box {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
#particles-js {
  background-color: #2d3a4b;
  width: 100%;
  height: 100%;
}
</style>
ログイン後にコピー

ステップ 5: 次の内容をparticles.jsonに書き込みます

{
    "particles": {
        "number": {
            "value": 60,
            "density": {
                "enable": true,
                "value_area": 800
            }
        },
        "color": {
            "value": "#ffffff"
        },
        "shape": {
            "type": "circle",
            "stroke": {
                "width": 0,
                "color": "#000000"
            },
            "polygon": {
                "nb_sides": 5
            },
            "image": {
                "src": "img/github.svg",
                "width": 100,
                "height": 100
            }
        },
        "opacity": {
            "value": 0.5,
            "random": false,
            "anim": {
                "enable": false,
                "speed": 1,
                "opacity_min": 0.1,
                "sync": false
            }
        },
        "size": {
            "value": 3,
            "random": true,
            "anim": {
                "enable": false,
                "speed": 40,
                "size_min": 0.1,
                "sync": false
            }
        },
        "line_linked": {
            "enable": true,
            "distance": 150,
            "color": "#ffffff",
            "opacity": 0.4,
            "width": 1
        },
        "move": {
            "enable": true,
            "speed": 4,
            "direction": "none",
            "random": false,
            "straight": false,
            "out_mode": "out",
            "bounce": false,
            "attract": {
                "enable": false,
                "rotateX": 100,
                "rotateY": 1200
            }
        }
    },
    "interactivity": {
        "detect_on": "Window",
        "events": {
            "onhover": {
                "enable": true,
                "mode": "grab"
            },
            "onclick": {
                "enable": true,
                "mode": "push"
            },
            "resize": true
        },
        "modes": {
            "grab": {
                "distance": 140,
                "line_linked": {
                    "opacity": 1
                }
            },
            "bubble": {
                "distance": 400,
                "size": 40,
                "duration": 2,
                "opacity": 8,
                "speed": 3
            },
            "repulse": {
                "distance": 200,
                "duration": 0.4
            },
            "push": {
                "particles_nb": 4
            },
            "remove": {
                "particles_nb": 2
            }
        }
    },
    "retina_detect": true
}
ログイン後にコピー

ステップ 6:articles.js

を変更します

1. 行 1416 ~ 1427 を

Object.deepExtend = function f(destination, source) {
  for (var property in source) {
    if (source[property] && source[property].constructor &&
     source[property].constructor === Object) {
      destination[property] = destination[property] || {};
      f(destination[property], source[property])
    } else {
      destination[property] = source[property];
    }
  }
  return destination;
};
ログイン後にコピー

に置き換えます。最後の行を追加します:

export default window.particlesJS
ログイン後にコピー
ステップ 7: ここにインデックスを導入します。 vue

あーあーあーる

以上がvue3 でパーティクル特殊効果を使用する際の問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

vue3 プロジェクトで tinymce を使用する方法 vue3 プロジェクトで tinymce を使用する方法 May 19, 2023 pm 08:40 PM

vue3 プロジェクトで tinymce を使用する方法

vue3+vite: src に画像を動的にインポートするために require を使用するときのエラーを解決する方法 vue3+vite: src に画像を動的にインポートするために require を使用するときのエラーを解決する方法 May 21, 2023 pm 03:16 PM

vue3+vite: src に画像を動的にインポートするために require を使用するときのエラーを解決する方法

Vue3 がマークダウンを解析し、コードのハイライトを実装する方法 Vue3 がマークダウンを解析し、コードのハイライトを実装する方法 May 20, 2023 pm 04:16 PM

Vue3 がマークダウンを解析し、コードのハイライトを実装する方法

Vue3 でページの部分的なコンテンツを更新する方法 Vue3 でページの部分的なコンテンツを更新する方法 May 26, 2023 pm 05:31 PM

Vue3 でページの部分的なコンテンツを更新する方法

vue3 プロジェクトをパッケージ化してサーバーに公開した後、アクセス ページが空白で表示される問題の解決方法 vue3 プロジェクトをパッケージ化してサーバーに公開した後、アクセス ページが空白で表示される問題の解決方法 May 17, 2023 am 08:19 AM

vue3 プロジェクトをパッケージ化してサーバーに公開した後、アクセス ページが空白で表示される問題の解決方法

Vue3 の再利用可能なコンポーネントの使用方法 Vue3 の再利用可能なコンポーネントの使用方法 May 20, 2023 pm 07:25 PM

Vue3 の再利用可能なコンポーネントの使用方法

Vue3 でアバターを選択してトリミングする方法 Vue3 でアバターを選択してトリミングする方法 May 29, 2023 am 10:22 AM

Vue3 でアバターを選択してトリミングする方法

DefineCustomElement を使用して Vue3 でコンポーネントを定義する方法 DefineCustomElement を使用して Vue3 でコンポーネントを定義する方法 May 28, 2023 am 11:29 AM

DefineCustomElement を使用して Vue3 でコンポーネントを定義する方法

See all articles