如何防止 Closure Compiler 重命名任何 属性 或特定对象的方法?

How to prevent Closure Compiler from renaming any property or method of a specific object?

我正在使用一个巨大的 3rdparty 库 (Babylon JS),它将通过自己的 CDN 提供服务,并且不能包含在我的 Closure 编译器中 运行。

该库包含一个对象以及作为其一部分定义的所有内容。

它没有可用的 externs 文件,所以我开始写一个,但它增长得很快。告诉 Closure Compiler 不要破坏我正在设置的任何属性会更容易,包括我正在为对象的构造函数创建的对象设置的属性。

编辑:

添加了库的名称。

Closure 编译器没有允许您说 "don't rename any property on this object" 的功能,除了完全禁用 属性 重命名。一般的想法是,"unrenamable object" 很容易泄漏到松散类型的值('unknown'、对象等)并禁用整个程序的重命名。这将使维持大型项目的预期优化变得困难。然而,这肯定是我希望团队在某个时候重新审视的事情。