如何在谷歌关闭库中要求外部库?

时间:2015-07-24 01:20:56

标签: google-closure google-closure-library

我有一个使用外部库的google闭包组件(socket.io.js) 是否可以使用goog.require和goog.addDependency之类的东西来要求外部库 例如,像这样:

deps.js:

goog.addDependency('path/to/MyComponent.js', ['MyComponent'], ['goog.events', 'https://cdn.socket.io/socket.io-1.3.5.js']);

MyComponent.js:

goog.provide('MyComponent');
goog.require('goog.events');
// I want something like goog.require('https://cdn.socket.io/socket.io-1.3.5.js');
MyComponent = function() {
    var socket = io('http://localhost');
};

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

socket.io.js与谷歌闭包编译器不兼容,所以你不能这样做,除非你适应socket.io.js与google关闭一起工作,有些人为jquery做了这个例子,但它显然不可行解决方案,你必须为每个新版本blablala做这个...梦魇
你最好的办法是使用--externs告诉封闭编译器这是一个外部库,因此来自这个库的所有代码都不会被重命名,并且在编译后会保持“有效”

https://developers.google.com/closure/compiler/docs/api-tutorial3#howto-app