Closure Compiler:重命名变量及其属性

时间:2017-10-02 09:59:43

标签: javascript closures google-closure-compiler

我正在为我的项目使用闭包编译器。

我的一个项目文件有一个声明如下:

var data = window.somedata || {}; 

该文件返回其他文件正在使用的object。 Closure编译器在使用时重命名此数据object的所有属性(在高级模式下)。

如何告诉编译器不要重命名与此变量相关的任何属性?

1 个答案:

答案 0 :(得分:0)

您可以通过为每个属性访问使用引号来阻止重命名:

console.log(data['myprop'])

或者使用外部人员。 Externs是定义类型的单独文件。

<强>的extern

/** @typedef {{prop1: string, prop2: boolean}} */
var FileObj;

<强>来源

var data = window.somedata || /** @type {FileObj} */ ({}); 

More about writing externs