Javascript 创建闭包编译器外部

Javascript 创建闭包编译器外部,javascript,google-closure-compiler,Javascript,Google Closure Compiler,我正在使用jQuery插件和Google闭包编译器。问题是,当我将插件的URL添加到编译中时,插件中有一个bug,编译失败。所以我想为这个插件创建一个外部程序。基本上,我只使用了整个库中的1个对象和2个方法;大概是这样的: var TheObject = $.plugin({...}); var SomeVar = TheObject.someName.otherName(SomeString, { prop1: [...], onError: function (

我正在使用jQuery插件和Google闭包编译器。问题是,当我将插件的URL添加到编译中时,插件中有一个bug,编译失败。所以我想为这个插件创建一个外部程序。基本上,我只使用了整个库中的1个对象和2个方法;大概是这样的:

var TheObject = $.plugin({...});

var SomeVar = TheObject.someName.otherName(SomeString, {

      prop1: [...],

      onError: function () {...}

});

TheObject.SomeMethod();
var TheObject = $['plugin']({...});

var SomeVar = TheObject['someName']['otherName'](SomeString, {

      'prop1': [...],

      'onError': function () {...}  
});

TheObject['SomeMethod']();
我看了谷歌网站上的文档,但它是从一个令人困惑的“它是什么”的角度写的,我需要一个简单的“如何”的角度来理解如何做到这一点。我需要做什么来为我所拥有的创建一个外部程序

谢谢。

给你:


我还没来得及完成关于创建外部对象的系列文章。如果这对于您的项目来说还不够,我将重新讨论这个主题。

因此,我已经断断续续地为这个问题挣扎了一段时间,我为其他拥有希望在闭包编译器的代码中使用插件的人提出了一个可行的解决方案:与其使用外部程序,不如使用字符串,如下所示:

var TheObject = $.plugin({...});

var SomeVar = TheObject.someName.otherName(SomeString, {

      prop1: [...],

      onError: function () {...}

});

TheObject.SomeMethod();
var TheObject = $['plugin']({...});

var SomeVar = TheObject['someName']['otherName'](SomeString, {

      'prop1': [...],

      'onError': function () {...}  
});

TheObject['SomeMethod']();

这可能对每个人都不起作用,但这对我起了作用,为我省去了很多写外人的麻烦。我发现网上的文档非常令人困惑:要么是由解释事物是什么的技术人员编写的,但现在如何使用它们,要么是以教授的口吻编写的,没有太多实证例子。我希望这个答案能对其他人有所帮助。

谢谢Chad,你绝对是闭包编译器的首选!!我将在1-2天内完成项目的这一部分,并让你知道这是怎么回事。@Chad,有没有办法运行编译器或其他工具从现有的完整脚本生成外部文件?@AlexisWilke引用该工具并(生成外部文件)。数组样式符号将使其编译,但它不会降低到使用externs文件所能达到的程度。制作外部文件并不难。网友:我明白你的意思,但我所采取的方法起了作用。因为基本上只有3行代码,你能用代码展示如何为这个示例插件编写外部代码吗?@frenchie我遇到了你在2014年遇到的这个问题,我想知道这是否仍然是最好的解决方案,或者你是否找到了更好的解决方案?谢谢。这还是我用的;没有更好的了。