Mal*_*lki 5 javascript obfuscation google-closure-compiler typescript
我正在使用TypeScript,我想使用Closure-Compiler来缩小和混淆我在构建TS代码后得到的JS输出.
我读到GCC能够根据类型定义进行混淆.据我所知(如果我错了请纠正我),这意味着如果我的代码上有类型注释,那么GCC将使用它们来进行更好的混淆.
例如,对于obj.somePropGCC,当前someProp在我的代码中查找属性名称的所有实例,而不考虑它所在的对象,并将所有这些实例替换为相同的混淆名称(例如o.a).
但是如果我在我的代码上有类型注释,GCC将能够知道哪个对象属于哪种类型并相应地对其进行模糊处理 - 因此两个不同类型的相同属性名称将被混淆为两个不同的名称.
问题:
编辑
您的理解大部分是正确的。基于类型的重命名(需要该--use_types_for_optimization标志)的优点是,与 extern 中的任何属性命名相同的属性不再被阻止重命名。
var foo = {};
foo.src = 'test'; //only renameable with type based optimizations
Run Code Online (Sandbox Code Playgroud)
至于打字稿,闭包编译器正在被修改以理解打字稿风格的类型符号。然而,这个项目还处于早期阶段。您链接的插件是我目前所知的最佳选择。
Typescript 和 Closure-Compiler 中的类型系统目前并不完全兼容。这也是正在积极开展的工作。
| 归档时间: |
|
| 查看次数: |
3121 次 |
| 最近记录: |