在使用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代码而不是网页。
答案 0 :(得分:0)
当使用--generate_exports
标志时,编译器会为每次出现的goog.exportSymbol
添加适当的goog.exportProperty
或@export
调用。这就是符号必须包含在编译中的原因。
要在编译中包含base.js,只需使用--js
标志将其传递给编译器,然后再传入自己的代码。这里没有什么神奇之处 - 它只是一个javascript库。