2013-01-07 3 views
0

javascript에 "terminal-thingy"를 만들고 있습니다. 아이디어는 각 명령이 AMD 형식의 별도 .js 파일이고 모든 것이 requirejs로로드된다는 것입니다.자바 스크립트에서 문자열의 플래그/인수를 구문 분석

command -s "string u-l: extra" -g http://domain.com/random.txt -r -a --test fixed 

하고 다음과 같이로 번역 것 :

나는 명령이처럼 호출 할

command({'-s': 'string u-l: extra', '-g': 'http://domain.com/random.txt', '-r': true, '-a': true, '--test': 'fixed'}); 

하지만 내가 문제가 발생할 경우, 내가 다른 실행 해봤입니다 시나리오는 내 머리 속에 있지만 좋은 대답은 찾을 수 없지만 갈등을 찾을 수는 있습니다.

  • split() - what if th ere는 모든 여분의 공간입니다.
  • regex - regex는 매번 비슷한 문자열을 사용합니다. "wget ​​http://code.jquery.com/jquery-1.8.3.min.js"과 같은 것을 원한다면 어떻게해야합니까?
  • 명령 자체에서 규칙을 정의해야합니다. 여전히 구문 분석이 필요합니다.
  • 파이핑 - 파이핑이 필요하면 어떻게 파이프를 틀어 놓지 말아야 할지를 알아야합니다. 즉, "command -s 'random | pipe '| command2 asd "

어떤 생각이나 조언을 부탁드립니다. 당신이 분리 된 경우

답변

0

겠습니까의 일을 더 쉽게 할 (? 특수 목적 lib 디렉토리에 https://github.com/jfd/optparse-js 등)

  • 구문 분석
  • 필요한 모듈의 목록으로 구문 분석 입력을 번역 (당신은 매핑을 정의해야합니다 인수와 명령 모듈 사이에서, 올바르게 이해한다면
  • 을 필요로하고 각 모듈에 관련 인수를 전달합니까?
관련 문제