我正在为我的项目使用闭包编译器。
我的一个项目文件有一个声明如下:
var data = window.somedata || {};
该文件返回其他文件正在使用的object
。 Closure编译器在使用时重命名此数据object
的所有属性(在高级模式下)。
如何告诉编译器不要重命名与此变量相关的任何属性?
答案 0 :(得分:0)
您可以通过为每个属性访问使用引号来阻止重命名:
console.log(data['myprop'])
或者使用外部人员。 Externs是定义类型的单独文件。
<强>的extern 强>
/** @typedef {{prop1: string, prop2: boolean}} */
var FileObj;
<强>来源
var data = window.somedata || /** @type {FileObj} */ ({});