使用外部库关闭高级压缩:Backbone.js,underscore.js

时间:2011-12-14 21:17:42

标签: backbone.js google-closure-compiler

当我的脚本依赖于Backbone.js和Underscore.js时,使用Closure的高级压缩所需的一般帮助。

我已经尝试过阅读Closure的API教程,但无法使我的编译脚本正常工作。具体来说,我添加了一个js_externs参数:

('js_externs', 'function _(){};function Backbone(){}')

进入我的python脚本(la http://code.google.com/closure/compiler/docs/api-tutorial3.html#howto-app),但这没效果。

2 个答案:

答案 0 :(得分:2)

在externs中你需要更多只是变量声明,在高级模式中你还需要你正在使用的主干库定义的属性,或者你需要为每个属性使用带引号的属性访问(数组访问): / p>

_['aBackboneMethod']()

例如,这里是jQuery externs文件:

http://code.google.com/p/closure-compiler/source/search?q=jquery-1.7.js&origq=jquery-1.7.js&btnG=Search+Trunk

答案 1 :(得分:-3)

我只需要类似的设置。您不需要 extern Backbone。只需在您的路径上删除未压缩的backbone.js,underscore.js,jquery.js(plovr任何人?),将goog.provide('Backbone')goog.provide('underscore')goog.provide('jQuery')置于这些文件之上,然后{{ 1}}无论你需要它。瞧!