我真正需要的是在用户使用Google服务登录时为javascript加载google apis客户端库。如果用户使用密码或其他外部服务登录,则不会加载库。
这有可能吗?
感谢。
答案 0 :(得分:1)
如果您想在用户登录后从外部URL加载库,您可以尝试这样的操作(将其放在客户端代码中的任何位置):
Tracker.autorun(function(c) {
var user = Meteor.user();
// replace this with the appropriate check for a google account
if (user && user.profile && user.profile.isGoogle) {
// stop the autorun now that the user is logged in
c.stop();
// load the api library
$.ajax({
url: '//url-to-fancy-google-api.google.com',
dataType: 'script',
cache: true
});
}
});
答案 1 :(得分:0)
可以使用anti:modules
包。首先将其添加到应用程序:
meteor add anti:modules
然后在项目中创建/layers
文件夹,并将可选文件放在其子文件夹中:
/
layers
googleUser
someFile.module.js
anotherFile.module.js
...
然后在您的代码中创建一个全局模块:
theApp = Module('$global').as('myApp');
并在必要时加载:
theApp.require('googleUser', function () {
console.log('googleUser code loaded');
});