代码之家  ›  专栏  ›  技术社区  ›  Jerald

如何在google闭包库中要求外部库?

  •  2
  • Jerald  · 技术社区  · 9 年前

    我有一个使用外部库(socket.io.js)的google闭包组件 是否可能需要使用诸如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 回复  |  直到 6 年前
        2
  •  0
  •   mahieddine    9 年前

    套接字.io。js与googleclosure编译器不兼容,因此除非您调整socket.io,否则无法执行此操作。js与google closure一起工作,有些人为jquery做了这件事,但这显然不是一个可行的解决方案,你必须为每个新版本blablala做这件事……噩梦
    您最好的选择是使用--extern,它告诉闭包编译器这是一个外部库,因此来自该库的所有代码都不会被重命名,编译后将保持“有效”

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