당신이 아마 알고 있기 때문에 SpiderMonkey와 같은 JavaScript 엔진은 안전 때문에 전형적으로 국부적으로 파일시스템에 접근을 허용하지 않는다. 개발자를 커맨드 라인에서 원본을 시험하는 가능하게 하기 위하여는, js는 당신을 SpiderMonkey 엔진으로 한개 이상 JavaScript 원본을 적재하는 가능하게 하는 짐 () 기능을 포함한다. 그러나 이것은 아무 방법도 파일시스템에 쓰기 제공되지 않기 때문에 우리의 목적을 위해 충분하지 않다. 원시 코드를 주의깊게 보아서, 나는 파일 목표를 위한 지원을 주의했다. 이 지원은 그러나 디폴트로 가능하게 되지 않는다. 단순히 가능하게 된 이 선택권을 가진 SpiderMonkey를 재컴파일하는 것은 충분하지 않다; 당신은 또한 넷스케이프 휴대용 런타임 (NSPR) 도서관을 다운로드하고 지어야 한다. 이 도서관은 시스템 레벨을 그리고 기능 libc 같이 플래트홈 중립 API를 제공하고, Mozilla 다수 프로젝트 및 다른 제3자 소프트웨어 개발자에 의해 사용된다. 신발매는 4.7.3이고 당신은 그것을 여기에서 다운로드할 수 있다.
NSPR를 가진 Spidermonkey 건축에 몇몇 gotchas가 있다. 첫째로, 당신은 성공적으로 NSPR를 건축할 필요가 있다. NSPR를 위한 원시 코드 tarball는 표준 GNU로 autoconfigure 공구를 온다. 당신이 64 비트 체계에 인 경우에, 당신은으로 형성한다 수행할 필요가 있다 - 선택권을 가능하게 하십시오 64bit; 그렇지 않으면 구조는 빨리 실패할 것이다. 당신은 시험 서브디럭토리에 가고, testsuite를 건설하고 수행해서 그 때 구조를 시험해야 한다. 당신은 또한 당신이 SpiderMonkey 1.7와 이른 릴리스를 아닙니다 건설하고 있다는 것을 SpiderMonkey의 libnspr와 NSPR 우두머리를 포함하기 위하여 Makefile.ref (나를 추측하고 있다) 변경할 필요가 있다. 2개는 컴파일 시간을 정의한다 필요하다. 당신은 만들기 위하여 Makefile.ref에 있는 또는 커맨드 라인 논쟁으로 JS_HAS_FILE_OBJECT 그리고 JS_THREADSAFE를 정의할 수 있다. 후에 당신 보다는, 성공적으로 천연 파일 목표 지원을 가진 SpiderMonkey를 건축할 수 있어야 합니다.
우리는 파일 목표를 위한 지원을 가진 js 구조가 있을 이니까, 우리 할 수 있는 무엇이 그것으로. 그래서, 나는 우리가 예상한 여보세요 세계 원본에서 시작해야 한ㄴ다는 것을 짐작한다. js> File.output.writeln ("여보세요 세계 "); 여보세요 세계 진실한 js> File.output.writeln ("여보세요, 세계 "); "좋" 여보세요, 세계 좋 js> File.output.writeln ("여보세요, 세계 "); "" 여보세요, 세계 js>
주의하십시오 당신이 상기 보이는 것과 같이 다른 것을 추가하면 않는 한 진실한 outputted. 현재 디렉토리를 위한 경우 파일 목표의 재산을 목록으로 만드는 방법을 설명하는 또 다른 짧은 보기는 여기 있다. js> dir = 새 파일 (`. '); /home/fpm/js/. (dir에 있는 i) 인쇄 (i)를 위한 js>; 길이 부모 경로 이름 isDirectory isFile canReplace canRead canWrite canAppend isOpen 유형을 존재한다