使用Google Closure Compiler在库中导出Javascript符号

时间:2017-01-20 14:55:43

标签: google-closure-compiler

在使用Google Closure Compiler导出符号时,我遗漏了一些东西。我想要完成的是创建一个Javascript库并仅导出客户端可以使用的那些函数。

文档声明要对要导出的那些函数和属性使用@export注释。但它还声明您必须在自己的代码库中使用相同的方法签名定义goog.exportSymbol和goog.exportProperty。例如:

/** @export */
var DoSomething = (function () {
});

goog.exportSymbol('DoSomething', goog.exportSymbol);

我下载了闭包库,它包含一个包含goog.exportSymbol函数的base.js文件。

但是你如何包含base.js?所有示例都显示它包含在网页中。但我不想要一个网页,编译器可以使用javascript代码而不是网页。

1 个答案:

答案 0 :(得分:0)

当使用--generate_exports标志时,编译器会为每次出现的goog.exportSymbol添加适当的goog.exportProperty@export调用。这就是符号必须包含在编译中的原因。

要在编译中包含base.js,只需使用--js标志将其传递给编译器,然后再传入自己的代码。这里没有什么神奇之处 - 它只是一个javascript库。