[javascript] 브라우저없이 JavaScript를 실행 하시겠습니까?

브라우저없이 Javascript 프로그래밍을 찾고 있습니다. 다른 스크립팅 언어 (ruby, php, perl, python …)를 실행하는 것처럼 Linux 또는 Mac OS X 명령 행에서 스크립트를 실행하고 싶습니다.

$ javascript my_javascript_code.js

거미 원숭이 (Mozilla)와 v8 (Google)을 살펴 보았지만 둘 다 내장 된 것으로 보입니다.

Javascript를 스크립트 언어로 사용하여 명령 행에서 실행하는 사람이 있습니까?

누군가 내가 왜 이것을 조사하고 있는지 궁금하다면 node.js 주위를 파고 들었습니다 . node.js의 성능으로 인해 javascript가 큰 데이터를 처리하기위한 실용적인 스크립팅 언어인지 궁금합니다.



답변

주제 와 관련 하여이 관련 질문 을 찾았 지만 직접 링크를 원하면 다음과 같습니다.

  • 다른 사람들이 지적했듯이 Rhino를 설치할 수 있습니다. 이 게시물 은 쉽게 시작하고 실행하는 방법과 명령을 쉽게 호출하기 위해 별칭을 지정하는 방법을 보여줍니다
  • Mac을 사용하는 경우 WebKit의 JavaScript 엔진을 호출하는 JavaScriptCore를 사용할 수 있습니다. 여기에 게시물 이 있습니다
  • Chome / Google의 V8 인터프리터도 사용할 수 있습니다. 여기에 지침이 있습니다
  • OSA로서의 JavaScript는 (AFAIK) 마치 AppleScript에있는 것처럼 스크립트 가능한 OS X 앱과 상호 작용할 수 있기 때문에 흥미 롭습니다 (끔찍한 구문없이).

node.js에 쉘이 포함되어 있지 않다는 것에 놀랐지 만 실제로는 epoll / selector 기반 콜백 / 이벤트 지향 웹 서버와 비슷하기 때문에 전체 JS 기능 세트가 필요하지는 않지만 내부 작업에 익숙하지 않습니다.

node.js에 관심이 있고 V8을 기반으로하므로 V8 환경 설정에 대한 지시 사항을 따르는 것이 JavaScript 프로그래밍의 일관된 기초를 가질 수 있도록하는 것이 가장 좋습니다 (JSC와 V8이 대부분이기를 바랍니다) 동일하지만 확실하지 않습니다).


답변

주요 답변

예, 질문에 대답하기 위해 브라우저없이 JavaScript를 명령 줄에서 “일반적인”스크립팅 언어로 사용할 수 있습니다. 다른 사람들은 아직 언급하지 않았으므로 언급 할 가치가 있음을 알았습니다.

데비안 기반 시스템에서 (그리고 여기에는 최소한 우분투, 리눅스 민트, aptosid / sidux가 포함됩니다) Rhino 설치 옵션과 이미 언급 된 다른 옵션 외에 다른 옵션이 있습니다 :

  • libmozjs-24-bin패키지를 설치하면 명령 행에 Mozilla Spider Spider 엔진이 단순하게 js24대화식 인터프리터로 사용될 수 있습니다. ( 24이름은에서 Firefox 24 버전에 해당함을 의미합니다).

  • libv8-dev패키지를 설치 하면 Google V8 엔진이 제공됩니다. 예를 들어 /usr/share/doc/libv8-dev/examples/shell.cc.gz압축을 풀고 컴파일 할 수 있는 파일 (예 :)이 있습니다 g++ -Os shell.cc -o shell -lv8.

  • 패키지를 설치하면 nodejs실행 파일 nodejs과 실행 파일 을 제공하는 데비안 (Debian-sense) 대안 으로 사용할 수 있습니다 js. JIT 컴파일은 V8에서 제공 한 것입니다.

  • 패키지를 설치하고 명령 행에서 libjavascriptcoregtk-3.0-binWebKit의 JavaScriptCore 인터프리터 ( jsc)를 일반 인터프리터로 사용하십시오. 그리고 이것은 Mac에 액세스 할 필요가 없습니다. 많은 플랫폼 (예 : x86 및 x86_64)에서이 인터프리터에는 JIT 컴파일러가 제공됩니다.

따라서 컴파일이 거의 없이도 세 가지 무거운 JavaScript 엔진을 자유롭게 사용할 수 있습니다.

추가

설치가 완료되면 #!/usr/bin/jsshebang 라인으로 파일을 만들면 됩니다.

$ cat foo.js
#!/usr/bin/js

console.log("Hello, world!");
$ ls -lAF /usr/bin/js /etc/alternatives/js /usr/bin/nodejs
lrwxrwxrwx 1 root root      15 Jul 16 04:26 /etc/alternatives/js -> /usr/bin/nodejs*
lrwxrwxrwx 1 root root      20 Jul 16 04:26 /usr/bin/js -> /etc/alternatives/js*
-rwxr-xr-x 1 root root 1422004 Apr 28 20:31 /usr/bin/nodejs*
$ chmod a+x foo.js
$ ./foo.js
Hello, world!
$ js ./foo.js
Hello, world!
$


답변

iMac에 Node.js를 설치했으며

node somefile.js

bash에서 작동합니다.


답변

나는 당신이 리눅스와 Mac에 관해 물었다는 것을 알고있다. Windows에 관심이있는 다른 사람들이 귀하의 질문을 찾은 경우 Windows에 대한 답변을 제공 할 것입니다.

Windows에는 명령 줄에서 사용할 수있는 Javascript 엔진이 포함되어 있습니다.

Windows 98부터 모든 Windows 버전에는 ” The Windows Script Host ” 가 포함되어 있습니다. 스크립트 “엔진”을 지원하는 Windows 표준 방법입니다. 첫 번째 릴리스 이후 WSH는 Microsoft의 Javascript 버전 인 JScript를 지원합니다. 무엇보다도 이것은 Windows 명령 행에서 * .js 파일의 이름을 호출하면 JScript 엔진에서 실행됩니다. (wscript.exe 또는 cscript.exe를 통해)

이 질문을 볼 수 있습니다 . cscript.exe에서 고성능 IE9 Javascript 엔진을 호출하는 방법을 배우려면 IE9의 Javascript 엔진 (코드 명 “Chakra”) 용 ProgId 또는 CLSID 란 무엇입니까?


답변

Java 1.6 이후 Java JDK에는 JavaScript 명령 줄과 REPL도 함께 제공됩니다.

Rhino를 기반으로합니다 : https://developer.mozilla.org/en/docs/Rhino

Java 1.6 및 1.7에서이 명령은 jrunscript( jrunscript.exeWindows에서) 호출 되며 JDK의 bin 폴더에서 찾을 수 있습니다.

Java 1.8부터 새로운 JavaScript 구현이 번들로 제공됩니다 (Nashorn : https://blogs.oracle.com/nashorn/ )

따라서 Java 1.8에서는 명령이 jjs( jjs.exeWindows에서는)


답변

FWIW, node.js는 쉘과 함께 제공됩니다.

node-repl

node.js를 설치하면 실제로 작동합니다. 잘 작동하도록 rlwrap을 설치하는 것이 표준입니다.


답변

Rhino 를 확인하고 싶을 수도 있습니다 .

Rhino Shell은 배치 모드에서 JavaScript 스크립트를 실행하는 방법을 제공합니다.

java org.mozilla.javascript.tools.shell.Main my_javascript_code.js [args]