在我的 Viewmodel 中,我使用 requirejs 和 requirejs 的异步插件以这种方式注入 google:
define(['async!http://maps.google.com/maps/api/js?sensor=false!callback'], function(){
//Google maps is available and all components are ready to use.
}
这是硬编码的。这样我就不能在不调用谷歌的情况下运行单元测试,我也不想嘲笑它......
这意味着我必须在
requirejs.config(
{
async: 'lib/async',
googlemaps:'async!http://maps.google.com/maps/api/js?sensor=false'
});
在我的 Viewmodel 中,我改用它:
define(['googlemaps'], function(){
//Google maps is **NOT** available
}
但谷歌对象未定义。
我该如何解决?