Javascript 带requirejs的JQVMAP
如何将require.js用作模块 jvpamd兼容吗?如果有人能链接到一个例子或建议一些解决方法,那就太好了Javascript 带requirejs的JQVMAP,javascript,requirejs,jvectormap,Javascript,Requirejs,Jvectormap,如何将require.js用作模块 jvpamd兼容吗?如果有人能链接到一个例子或建议一些解决方法,那就太好了 我无法使用shim选项,因为我使用的是旧的require.js,无法更新它。您可以使用定义来包装库,从而有效地实现shim选项的功能。快速测试设置: jqvmap wrapped.js // to simplify the example used jQuery named as "jquery.js" define(['jquery'], function(jQuery){
我无法使用shim选项,因为我使用的是旧的require.js,无法更新它。您可以使用
定义来包装库,从而有效地实现shim
选项的功能。快速测试设置:
jqvmap wrapped.js
// to simplify the example used jQuery named as "jquery.js"
define(['jquery'], function(jQuery){
// original jqvmap.js goes here
// (...)
// please note: not returning anything
});
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
});
})
index.html
<html>
<head>
<script data-main="index" src="require.js"></script>
</head>
<body>
<div id="vmap" style="width: 600px; height: 400px;"></div>
</body>
</html>
一句解释:插件将自己添加到jQuery中,它没有“独立”版本。包装器模块没有返回任何内容,它只是有一个副作用,将jqvmap
添加到jQuery
对象中;这就是为什么\u jqvmapEmpty
变量本身是未定义的
。不过,它可以通过jQuery获得,因此您可以使用与在非模块化代码中相同的方式来使用它