如何将CreateJS导入到VueJS .vue组件中?

问题描述 投票:1回答:1

我提前道歉,一般来说我对Vuejs还是很陌生的。我想把CreateJS SoundJS导入到一个.vue组件中。我已经通过npm安装了CreateJS。我只是不知道如何将库导入到组件中,这样我就可以引用声音函数。我似乎在CreateJS文档中找不到任何关于这种类型的用法......任何代码或参考链接都将非常感激。谢谢!我提前向您道歉。

javascript vue.js createjs soundjs
1个回答
1
投票

好吧,我做了一个例子,使用CreateJSSoundJS库从其CDN导入。

在publicindex.html文件中,添加标签。

<script src="https://code.createjs.com/1.0.0/soundjs.min.js"></script>

现在你的项目里有了这个库,你可以访问它和它的功能。

在srcmain.js中添加要与Vue一起使用的库,将其添加到Vue原型中。

import Vue from "vue";
import App from "./App.vue";
const createjs = window.createjs; // Get the createjs instance from window object

Vue.config.productionTip = false;
Vue.prototype.createjs = createjs; // Add the createjs instance to the Vue prototy, to use this.createjs

new Vue({
  render: h => h(App)
}).$mount("#app");

在srcApp.vue组件(或任何组件,但App.vue是应用程序的入口点,所以这是一个很好的地方)配置声音。

<template>
  <div id="app">
    <img alt="Vue logo" src="./assets/logo.png" />
    <HelloWorld msg="Welcome to Your Vue.js App" />
    <button @click="play">Play</button>
    <!-- button to call the play method -->
  </div>
</template>

<script>
import HelloWorld from "./components/HelloWorld.vue";
const hornSound = require("@/assets/hey.mp3"); // Store a mp3 file in a variable, You can add more sounds, here on in another components

export default {
  name: "App",
  components: {
    HelloWorld
  },
  methods: {
    play() {
      this.createjs.Sound.play("Horn"); // Acces and play the sound with the id "Horn"
    }
  },
  created() {
    const soundId = "Horn"; // Id of the sound to be registered 
    this.createjs.Sound.registerSound(hornSound, soundId); // Register the sound, using the mp3 and the id
    // You can do this with any amount of sounds, here or in any component
    // Once a sound is registered, you have access to it in all the components
  }
};
</script>

播放子组件(srccomponentsHelloWorld.vue)的声音。

    <template>
      <div class="hello">
        <h3>Hello World with createjs/soundjs</h3>
        <button @click="playFromChild">Play inside child component</button>
      </div>
    </template>

    <script>
    export default {
      name: "HelloWorld",
      props: {
        msg: String
      },
      methods: {
        playFromChild() {
          this.createjs.Sound.play("Horn"); // We are accessing to the sound with id "Horn" without import anything
        }
      }
    };
    </script>

我希望这对你有帮助,我试图解释如何使用它,但正如你所说,没有关于它的文档,所以也许这是棘手的,但它的工作。

© www.soinside.com 2019 - 2024. All rights reserved.