将 Jquery.hammer 和 Hammer 2.0.2 与 RequireJS 一起使用
Posted
技术标签:
【中文标题】将 Jquery.hammer 和 Hammer 2.0.2 与 RequireJS 一起使用【英文标题】:Using Jquery.hammer and Hammer 2.0.2 with 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");
来访问它。但是现在在插件中找不到了。之后可以尝试加载它吗?
【参考方案1】:
-
安装 npm ihammerjs
添加到 package.json --->
"hammerjs": "^2.0.8",
"@types/hammerjs": "^2.0.36",
“类型”:[“hammerjs”,
“茉莉花”,
“茉莉花2”,
“节点”,
"q",
“硒网络驱动程序”]
添加 import 'hammerjs'; 到 main.ts 文件
如果仍有问题,请使用:
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 变量
【讨论】:
以上是关于将 Jquery.hammer 和 Hammer 2.0.2 与 RequireJS 一起使用的主要内容,如果未能解决你的问题,请参考以下文章
jquery.hammer.js 在 android 上崩溃,但在 ios 上运行良好
HTML5 使用 Hammer.js 拖动事件在 div 上拖放元素
予你手HAMMER CONNECT Edition 10.00.00.49+PLCSIM 14.0 45