0

특정 문자열 리터럴을 난독화할 수있는 Javascript 난독 화 도구를 찾고 있습니다.자바 스크립트에서 문자열 리터럴 및 객체 키를 흐리게 처리 하시겠습니까?

나는이 같은 수준의 기능이 있습니다

function Mapper() { 
    var map = {}; 
    this.put = function(name, val) { 
     map[name] = val; 
    }; 
    this.get = function(name) { 
     return map[name]; 
    }; 
} 

을 그리고 내 코드를 통해이 같이 사용되는 : 나는 키 이름을 당황하게 할

var mapper = new Mapper(); 
mapper.put("first", 123); 
mapper.put("second", 999); 
var value = mapper.get("first"); 
// etc... 

-"first", "second"을 - 그들은 단지 관련이 있기 때문에 개발 중.
mapperput() 또는 get() 메서드를 사용하는 경우에만이 문자열을 난독 화해야하지만 사용하는 키가 다른 곳에서는 사용되지 않기 때문에 문제가되지 않습니다.
그러나 나는 원하지 않습니다. ALL 내 응용 프로그램의 문자열 리터럴을 난독 화합니다. 모든 문자열 리터럴이 객체 속성 키로 사용되는 것은 아닙니다.
도구에서 그렇게해야 할 경우 난독 처리해야하는 키 목록을 수동으로 정의해도 괜찮습니다.

어떻게이 작업을 수행 할 수 있습니까?

클로저 컴파일러, YUI, unglifyjs 또는 이와 유사한 항목과 같이 일반적으로 사용되는 난독 화 도구 중 하나를 사용하여이 작업을 수행 할 수 있습니까?

+1

왜 필요합니까? 누구나'Object.keys' 또는 임의의'for .. in' 루프를 통해 임의의 객체로부터 키를 얻을 수 있습니다. – Pinal

+0

알려진 키 집합에 대해 모든 mapper.get (key) [및 모든 mapper.put (key , x) 등] mapper.get (obfuscate (key), ...) 어디에 obfuscate (key)는 키와 관련없는 대체 문자열을 생성합니까? 그리고 그게 당신이하고 싶은 모든 것입니까? (기존의 난독 화 작업을 원하십니까?) –

+0

코드를 축소하고 싶습니다. 개발 중에는 사람이 읽을 수있는 "first"와 같은 키를 가지고있는 것이 편리합니다. 아무도 그것들을 필요로하지 않고 그냥 공간을 차지합니다. – Malki

답변

1

클로저 컴파일러에는 "ReplaceStrings"와 "id generators"대체가 지원됩니다. 자세한 내용이 없으면 id 생성기 대체가 원하는 것입니다.

관련 문제