문제

JavaScript 용 기본 기계 코드 컴파일러가 있습니까? 나는 VM에 대해 말하는 것이 아닙니다. 존재하지 않으면 완료 할 수 있습니까?
언어의 역동적 인 특성으로 인해 바이너리에 편집 할 수 있는지 궁금합니다.

도움이 되었습니까?

해결책

내가 아는 한, JavaScript 용 정적 컴파일러는 없습니다. 확실히 이론적으로 가능합니다. 그러나 JavaScript의 정적 편집에는 모든 기능 (예 : 동적 타이핑 및 평가)을 지원하기 위해 매우 헤비급 런타임이 필요합니다. 소규모로서, Python (또 다른 동적 언어)을 정적으로 컴파일해야 할 필요성이 제시 될 때 pypy 개발자들은 결국 Python (rpython)의 매우 제한된 하위 집합 인 언어를 만들었습니다. Python의 더 역동적 인 기능 중 일부는 정적으로 컴파일 될 수 있습니다.

JavaScript 코드에서 독립형 실행 파일을 작성하기 위해 이것을 요구한다면, 스크립트가 포함 된 실행 파일과 내장 된 JavaScript VM을 작성하는 래퍼가 있어야합니다 (슬프게도, 나는 아무것도 모릅니다. ).

다른 팁

내가 지금 그것을하는 방법을 아는 유일한 방법은 두 단계 과정이지만, 그것은 확실히 가능합니다 ...

  1. JavaScript를 사용하여 Java에 컴파일하십시오 모질라 코뿔소 JSC.
  2. 결과를 사용하여 결과 자바 클래스 파일을 실행 파일로 컴파일하십시오. GNU의 GCJ.

그래도 왜 원하십니까? 어떤 이점을 찾을 것으로 기대하십니까?

Google V8 엔진은 JavaScript를 기본 기계 코드로 컴파일합니다. 이 기능은 enclosejs node.js 및 io.js 프로젝트를 위해 쓴 컴파일러.

이 모든 솔루션은 모든 솔루션입니다 DOM더 적은 라이브러리가 없습니다 angular.js 또는 jquery, 뿐 underscore.js/lodash

다음까지 Falaina대답,pypy 가지고 있습니다 dist 자바 스크립트

또한, Appcelerator Titanium a js > JavaBit > android

드디어, node.js 사용할 수 있습니다 넥시이것에 대해 설명했습니다 대답

이론적으로 가능하지만 많은 런타임 지원 수하물이 포함되어 있습니다 (및 전체 JavaScript 컴파일러 또는 통역사조차 지원합니다. eval).

실제 기본 코드 컴파일러를 찾고 있습니까, 아니면 런타임과 함께 단일 실행 가능한 바이너리에 런타임과 함께 JavaScript 코드를 번들로 할 수있는 것을 찾고 있습니까?

Microsoft가 다운로드 가능한 JScript ( "Microsoft 's JavaScript") 컴파일러를 가지고 있다고 확신합니다.

Windows가있는 경우 : JavaScript 텍스트 파일을 작성하는 경우 : CD를 사용하여 명령 프롬프트를 열어 텍스트 파일 디렉토리 (Windows가있는 경우) 유형 : C : Windows Microsoft.net Framework v2.0.50727 jsc.exe textfile.js

그렇지 않으면 : jscript 컴파일러 다운로드 Jscript 컴파일러의 디렉토리와 JavaScript 텍스트 파일의 이름

전체 디렉토리 이름을 컴파일러에 입력하지 않으려면 환경 변수를 추가 할 수 있습니다.

이 사람은 더 잘 설명합니다.http://www.phpied.com/make-your-javascript-windows-exe/

나는 개인적으로 이것이 정말로 시원하다고 생각합니다. 나는 그것에 대한 더 많은 문서가 있었으면 좋겠다.

나는 그것이 당신이 찾고있는 것이라고 확신하지만, 나는 조금 새롭습니다.

Tracemonkey FF3.5에서는 JavaScript 코드의 일부에이를 수행합니다. 거기에서 몇 가지 지시를 얻을 수 있습니다!

iOS 용 Adobe Air의 AOT 컴파일러는 Actionscript 3.0이라는 JavaScript의 슈퍼 세트를 ABC 바이트 코드로, LLVM을 통해 기계 코드를 컴파일합니다. 클래스없이 유형 주석없이 AS3 코드를 작성하려면 본질적으로 JavaScript가되면 컴파일러가 행복하게 컴퓨터 코드로 컴파일됩니다. 안타깝게도 이것은 오픈 소스 소프트웨어가 아니며, DOM (많은 사람들이 JavaScript를 생각할 때 생각하는 사람)에 액세스 할 수 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top