Require.js - 异步获取 google.maps 命名空间
goog 插件对于解决我的问题似乎有点笨重,所以我自己编写了一个插件使用 Google AJAX API 加载器加载 Google 地图:
define(function() {
return {
load : function(name, req, onLoad, config) {
if (config.isBuild) {
onLoad(null);
} else {
req(['async!http://www.google.com/jsapi?key=abcdefg'], function() {
google.load('maps', '2', {
'other_params': 'sensor=true',
'callback': onLoad
});
});
}
}
};
});
然后我可以像这样返回 google.maps 命名空间:
define(['gm!'], function() {
return google.maps;
}
);
一切正常,但我想知道:是否有更简洁的方法(除了使用 goog/custom 插件)来获取命名空间?
goog plugin seemed a bit to bulky for solving my problem, so I hacked up my own in order to load Google Maps using Google AJAX API loader:
define(function() {
return {
load : function(name, req, onLoad, config) {
if (config.isBuild) {
onLoad(null);
} else {
req(['async!http://www.google.com/jsapi?key=abcdefg'], function() {
google.load('maps', '2', {
'other_params': 'sensor=true',
'callback': onLoad
});
});
}
}
};
});
I can then return google.maps namespace like this:
define(['gm!'], function() {
return google.maps;
}
);
Everything works fine, but I wonder: is there a more concise way (besides using goog/custom plugin) to get the namespace?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论