12

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

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

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

4

3 回答 3

8

请参阅以下 URL 作为起点。我还建议向您的外部添加类型信息以最大化编译器的好处。

http://www.dotnetwise.com/Code/Externs/

于 2010-11-30T02:41:42.280 回答
0

许多项目包括 TypeScript 风格的类型定义(即 index.d.ts)。这种格式不能直接在 Closure Compiler 中使用,但我发现这个工具可以自动将 .d.ts 转换为 extern。

https://www.npmjs.com/package/tsd2cce - 来自 typescript 声明文件 (.d.ts) 的 google 闭包编译器外部转换器。

用法

npx tsd2cce declaration.d.ts create_extern.js

于 2021-03-19T20:59:51.933 回答
-3

您可以通过以下方式导出函数: window['myFunc'] = myFunc;

更多细节在这里: http ://code.google.com/closure/compiler/docs/api-tutorial3.html#no

如果您实际上想要从其他地方导入的库的外部(即服务包装器、jquery 等),那么这就是您需要在其中传递外部的地方

于 2011-01-20T11:46:35.220 回答