2012-12-31 49 views
10

是否有任何工具或TypeScript脚本支持公共名称空间混淆?即转:TypeScript Obfuscation

class MyUtil { 
    print(): void { ... } 
} 

成类似:

class xxy { 
    aab(): void { ... } 
} 

如果没有,会直截了当叉编译器提供呢?也许用某种类型的注解指示什么应该/不应该被混淆。

(显然公众混淆,必须谨慎使用,没有良好的图书馆!但巨大的,如果在你的项目中使用一致)

+0

可能的重复https://stackoverflow.com/questions/12682268/is-it-possible-to-compile-typescript-into-minified-code。 –

回答

5

我不认为有任何理由在打字稿做到这一点。你可以使用Closure Compiler之类的东西来对你的JavaScript输出进行模糊处理。具体查看Closure的Advanced Compilation设置。

+4

我很欣赏它可以用普通的JS和其他工具完成。但是我认为把它作为TS编译器的一部分来做是有意义的,如果没有别的东西,它会减少你需要安装的独立工具的数量。我希望看到TS提供缩小和混淆选项。 – user826840

+2

Typescript对于模糊处理“知道”是绝对有意义的。我想强制将属性明确地标记为'公开'(或导出或其他),我需要暴露给我的HTML页面。例如,我使用Knockout,我需要绑定到viewmodel上的一些属性,但不是全部,或者我可能有私有函数。如果Typescript能够为我处理这个问题,我会得到更高效的代码,其中标准混淆器可能没有足够的信息来做出决定。 –

1

我有完全相同的问题,它立即被SO删除。

https://github.com/angular/ts-minify

这就是你(和我)正在寻找的工具,它似乎工作得很好,我需要在提交人采取预防措施,我不认为注释掉几部分组成适用。

+0

您的问题被关闭的最可能的原因是您要求提供工具建议,这对于SO来说并不适用。请参阅https://meta.stackoverflow.com/questions/254393/what-exactly-is-a-recommendation-question –

+0

我真的仍然觉得ts-minify是你寻求的答案,你试过了,它不起作用? – user378380