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

时间:2018-09-01 23:13:16

标签: extern google-closure-compiler google-closure-library babylonjs

我正在使用庞大的3rdparty库(Babylon JS),该库将通过其自己的CDN提供服务,并且不能包含在Closure Compiler运行中。

该库包含一个对象,所有内容都定义为该对象的一部分。

它没有可用的externs文件,所以我开始写一个文件,但是它正在迅速增长。仅仅告诉Closure Compiler不要弄乱我正在设置的任何属性,包括我正在对由对象的构造函数创建的对象设置的属性,都会更容易。

编辑:

添加了库的名称。

1 个答案:

答案 0 :(得分:3)

Closure Compiler没有允许您说“不要在此对象上重命名任何属性”的功能,只能完全禁用属性重命名。通常的想法是,“不可重新定义的对象”很容易泄漏为松散类型的值(“未知”,“对象”等)并禁用整个程序的重命名。这将使维持较大项目的预期优化变得困难。但是,那当然是我希望团队在某些时候重新访问的东西。