21

是否有任何 TypeScript 工具或分支来支持公共命名空间混淆?即转:

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

变成这样的东西:

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

如果没有,会直接派出编译器来提供这个吗?也许通过某种类型的类注释指示应该/不应该混淆什么。

(显然,公共混淆必须谨慎使用,对库没有好处!但如果在您的项目中始终如一地使用,那就太好了)

4

3 回答 3

21

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

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

这正是您(和我)正在寻找的工具,它似乎工作得很好,我需要注释掉作者采取的一些我认为不适用的预防措施的部分。

于 2017-06-05T19:29:14.540 回答
9

我不相信有任何理由在 TypeScript 中这样做。您可以改为使用 Closure Compiler 之类的工具对 JavaScript 输出进行混淆处理。具体查看 Closure 的高级编译设置。

于 2012-12-31T17:09:54.343 回答
0

 不是直接回答!Js 混淆器

https://github.com/javascript-obfuscator/javascript-obfuscator

插件:

Webpack plugin: webpack-obfuscator
Webpack loader: obfuscator-loader
Gulp: gulp-javascript-obfuscator
Grunt: grunt-contrib-obfuscator
Rollup: rollup-plugin-javascript-obfuscator

笔记:

只混淆属于你的代码。

不建议混淆供应商脚本和 polyfill,因为 混淆后的代码会慢 15-80%(取决于选项)并且文件要大得多。

于 2020-01-30T20:05:09.283 回答