0
有人记录说,使用高级优化的Google Closure编译器会重命名一些属性,但不会重命名其他属性。然而,似乎没有解释为什么它不能重命名的属性在下面的代码“ID”和“知名度”:Google Closure编译器不会重命名某些属性
const model = {
age: 5,
id: 1234,
visibility: true,
skills: 4,
hair: 667
}
function doSomething() {
var s = Object.create(model);
console.log("Age: " + model.age);
s.visibility = "john";
s.age = 2;
s.skills = 5;
s.hair = 999;
model.age = 6;
return s;
}
doSomething();
这是编译器设置:
java -jar closure-compiler/compiler.jar \
--compilation_level ADVANCED_OPTIMIZATIONS \
--js_output_file scripts/release/test-min.js \
--warning_level VERBOSE \
--language_out ECMASCRIPT5 \
--language_in=ES6_Strict \
--js scripts/temp/test.js
你会注意到没有externs。
不知道它使用了默认的外部。谢谢!谷歌搜索确实显示了有关默认外部的结果:https://github.com/google/closure-compiler/wiki/FAQ – AndroidDev