找不到相关模块:vue-lottie

relative module was not found: vue-lottie

在使用 vue-cli (3.0.0-rc.5) 重新构建后,无法到达 lottie 模块的路径。我应该使用配置吗?



<template>
<div id="app">
    <lottie :options="defaultOptions" :height="400" :width="400" v-on:animCreated="handleAnimation"/>
    <div>
        <p>Speed: x{{animationSpeed}}</p>
        <input type="range" value="1" min="0" max="3" step="0.5"
               v-on:change="onSpeedChange" v-model="animationSpeed">
    </div>
    <button v-on:click="stop">stop</button>
    <button v-on:click="pause">pause</button>
    <button v-on:click="play">play</button>
</div>

<script>
      import Lottie from './lottie.vue';
      import * as animationData from './assets/data.json';
      export default {
        name: 'app',
        components: {
          'lottie': Lottie
        },
        data() {
          return {
            defaultOptions: {animationData: animationData},
            animationSpeed: 1
          }
        },
        methods: {
          handleAnimation: function (anim) {
            this.anim = anim;
          },
          stop: function () {
            this.anim.stop();
          },
          play: function () {
            this.anim.play();
          },
          pause: function () {
            this.anim.pause();
          },
          onSpeedChange: function () {
            this.anim.setSpeed(this.animationSpeed);
          }
        }
      }
    </script>

如果您使用的是 vue-lottie 包,那么导入应该是

import Lottie from 'vue-lottie';

这是因为 lottie 包位于 node_modules 文件夹中,您必须提供正确的路径或使用直接包名导入。 附带一提,我相信 Vue cli 的当前版本是 v3.1.1 所以你绝对应该升级。

如果还是不行,在 defaultOptions

中将 animationData 更改为 animationData.default
defaultOptions: { animationData: animationData.default }