如何为Google Closure Compiler自动生成外部声明文件?

13

假设您正在使用几个外部库依赖项的javascript项目,并希望使用Google Closure Compiler在ADVANCED_OPTIMIZATIONS模式下编译源代码。

由于在此模式下,编译器将重命名对外部库对象和函数的调用,因此必须提供externs,以防止发生这种重命名。

但是,手动生成externs需要很多工作量,那么从给定的javascript库中自动生成适当的extern的最佳方法是什么?

3个回答

8

0
许多项目包括TypeScript风格的类型定义(即index.d.ts)。这种格式不能直接在Closure Compiler中使用,但我找到了这个工具,可以自动将.d.ts转换为extern。 https://www.npmjs.com/package/tsd2cce - 一个从TypeScript声明文件(.d.ts)转换为Google Closure Compiler externs的转换器。
用法: npx tsd2cce declaration.d.ts create_extern.js

-3
你可以通过以下方式导出你的函数: window['myFunc'] = myFunc;
更多的细节请查看这里: http://code.google.com/closure/compiler/docs/api-tutorial3.html#no 如果你真的想要为从其他地方引入的库(例如服务包装器、jquery等)使用externs,那么你需要在其中传递externs。 如果你正在使用JAR编译器,你可以使用--externs进行指定,在上面的链接中可以了解更多详细信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接