首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQVMAP,需要JQVMAP

JQVMAP,需要JQVMAP
EN

Stack Overflow用户
提问于 2013-05-23 18:43:11
回答 1查看 539关注 0票数 0

如何将带有require.js的jquery vector maps作为模块使用?

JVP和amd兼容吗?如果有人能链接到一个例子或建议一些解决办法,那就太好了。

我不能使用填充选项,因为我正在使用旧的require.js,并且无法更新它。

EN

回答 1

Stack Overflow用户

发布于 2013-05-24 05:39:10

您可以自己用define包装库,从而有效地实现shim选项所做的事情。快速测试设置:

jqvmap-wrapped.js

代码语言:javascript
复制
// to simplify the example used jQuery named as "jquery.js" 
define(['jquery'], function(jQuery){
   // original jqvmap.js goes here
   // (...)

   // please note: not returning anything
});

index.html

代码语言:javascript
复制
<html>
  <head>
    <script data-main="index" src="require.js"></script>
  </head>
  <body>
    <div id="vmap" style="width: 600px; height: 400px;"></div>
  </body>
</html>

index.js

代码语言:javascript
复制
define(['jquery', 'jqvmap-wrapped'], function ($, _jqvmapEmpty) {
   console.log('jQuery=', $);
   console.log('jqvmap-wrapped=', _jqvmapEmpty);
   console.log('jqvmap attached to jQuery? ', $.prototype.vectorMap);

   $('#vmap').vectorMap({
     // params
   });
})

一句话解释:这个插件将自己添加到jQuery中,它没有“独立”版本。包装器模块不会返回任何内容,它只会产生将jqvmap添加到jQuery对象的副作用;这就是为什么_jqvmapEmpty变量本身是undefined的原因。不过,它可以通过jQuery获得,因此您可以像在非模块化代码中一样使用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16711858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档