【问题标题】:Using Jquery.hammer and Hammer 2.0.2 with RequireJS将 Jquery.hammer 和 Hammer 2.0.2 与 RequireJS 一起使用
【发布时间】:2014-10-01 08:10:44
【问题描述】:

刚刚更新到 Hammer 2.0.2 并添加了 jquery.hammer plugin,但我在项目中需要它时遇到问题。

目前,我刚刚收到“未捕获的 ReferenceError: Hammer is not defined

当我尝试只需要 Hammer 时,我无法在控制台中访问 Hammer。

这是我的要求配置中的重要内容。

require.config({
  paths: {
    '$': '../components/jquery/jquery',
    'jquery': '../components/jquery/jquery',
    'hammer': '../components/hammerjs/hammer',
    'jquery-hammer': '../components/jquery-hammer/jquery.hammer'
  },
  shim: {
    $: {
      exports: '$'
    },
    jquery: {
      exports: '$'
    },
    'hammer': {
      exports: 'Hammer'
    },
    'jquery-hammer': {
      deps:['$','hammer']
    }
  }
});

【问题讨论】:

  • 对我来说同样的问题。我猜“锤子”没有正确导出。我曾经在我的 require 回调中的最后一个版本中使用 Hammer = require("Hammer"); 来访问它。但是现在在插件中找不到了。之后可以尝试加载它吗?

标签: jquery requirejs require hammer.js


【解决方案1】:
  1. 安装 npm ihammerjs
  2. 添加到 package.json ---> "hammerjs": "^2.0.8", "@types/hammerjs": "^2.0.36", “类型”:[“hammerjs”, “茉莉花”, “茉莉花2”, “节点”, "q", “硒网络驱动程序”]
  3. 添加 import 'hammerjs';ma​​in.ts 文件
  4. 如果仍有问题,请使用: npm --force npm 安装

【讨论】:

    【解决方案2】:

    以这种方式为我工作,从你的路径和垫片中删除 jquery-hammer

    require(["Hammer", "jquery"], function(){
    Hammer = require("Hammer");
    jQuery = require("jquery");
    
      require([
            "../components/jquery-hammer/jquery.hammer", //or the path of your jquery.hammer
            //Any other lib
            ], function(){
                //your previous init code
            }
    });
    

    在调用 jquery.hammer 插件之前强制设置 jQuery 和 Hammer 变量

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-14
      • 2014-02-20
      • 1970-01-01
      • 1970-01-01
      • 2014-10-06
      • 2023-04-09
      • 2015-04-27
      相关资源
      最近更新 更多