2012-12-31 71 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