首页 > 解决方案 > 在 vue 中使用 fotorama

问题描述

我正在尝试在我的 vue-cli 项目中使用 Fotorama(照片库)。jQuery 3.5.1 和 Fotorama 使用 NPM 安装。代码部分:

<script>
    import 'jquery'
    import 'fotorama/fotorama'

    export default {
        // ...
    }
</script>

我收到此错误:

Uncaught Fotorama requires jQuery 1.8 or later and will not run without it.

如何让它发挥作用?

我在做:

  1. 在没有 vue 的情况下使用相同版本的 jquery 和 fotorama。有用
  2. 通过将脚本标签添加到挂载的钩子来使用 cdn 版本
  3. 将 jquery 和 fotorama 放在 assets 文件夹中。Vue 在 jquery 文件中显示错误
  4. 在 index.html 中添加了脚本标签。它的工作原理是 50/50。我无法解释这一点,但是当页面重新加载时,此选项会随机工作。
  5. 将 jquery 和 fotorama 合并到 1 个文件中

对不起,如果我的问题有错误,我的英语不好。我在我社区的子域上问了这个问题,但他们无法帮助我。也许还有其他图书馆可以提供这样的机会。最主要的是它们有点重并且知道如何在滚动时加载图片(不是一次全部)

标签: jqueryvue.jsfotorama

解决方案


您收到的错误表明 jQuery 可能已过时(但通过 npm 下载时不应该发生这种情况)。

您绝对可以尝试使用以下方法更新软件包:npm update jquery

第二个问题可能是您在 vue 组件中导入 jquery 的方式。

试试这个:import $ from 'jquery';

您还简要提到了您需要一个重量轻并在滚动时加载图片的库。我建议尝试Macy.js。它只有 4kb,因此比 jQuery 本身要小得多。


推荐阅读