Terminal üzerinden JavaScript komut dosyasını nasıl çalıştırıyorsunuz?


272

Örneğin, bir Python betiği çalıştırırsanız, python dosyaadı.py yazarsınız ya da bir C programı çalıştırmak istiyorsanız dosya adı o zaman ./ dosyaadı olur . Bunu .js dosyalarıyla nasıl yapıyorsunuz ?


1
JS genel amaçlı bir dil değildir, neden bunu yapmak istersiniz? .Js dosyanızı <script> etiketi aracılığıyla bir .htm (l) sayfasına ekleyin, ardından sayfayı tarayıcınızda açın.
helpermethod

3
@BLUC Buna yürütülebilir dosya denir.
helpermethod

yürütülebilir, uygulama, program veya ikili. Ve daha yararlı bir notta, V8 veya Rhino gibi bir JavaScript yorumlayıcıya veya unuttuğum diğer 1000 yorumdan birine ihtiyacınız olacak.
Corbin

9
@OliverWeiler, diğer durumlarda olduğu gibi genel durumlarda da kolayca uygulanamaz, ancak web sayfalarının dışındaki uygulamalara sahip olabileceğine inanıyorum :).
Corbin

JavaScript uygulaması Unity 3D'de
Bradman175

Yanıtlar:


123

Komut dosyasını değerlendirmek için bir JavaScript motoruna ( Mozilla Rhino gibi ) ihtiyacınız vardır - tıpkı Python için yaptığınız gibi, standart dağıtım ile birlikte gönderilir.

Yüklü ve yolunuzda Rhino (veya alternatif) yüklüyse, JS'yi çalıştırmak gerçekten de basit olabilir

> rhino filename.js

Bununla birlikte, JavaScript sadece kendi başına bir dil olsa da, birçok belirli komut dosyasının tarayıcı benzeri bir ortamda çalışacaklarını varsayar ve böylece gibi global değişkenlere erişmeye location.hrefve ekleyerek çıktı oluşturmaya çalışın. Aramak yerine DOM nesneleri print.

Bir web sayfası için yazılmış bir komut dosyasına sahipseniz, stdin'den argümanları kabul etmesine ve stdout'a yazmasına izin vermek için bir şekilde sarmanız veya değiştirmeniz gerekebilir. (Rhino'nun standart tarayıcı değişkenlerini taklit eden bir modunun olduğuna inanıyorum, bu da çok yardımcı oluyor, ancak bunun için belgeleri bulamıyorum.)


4
Bilginize, gergedan ve spidermonkey arasındaki fark (her ikisi de Mozilla kreasyonlarıdır): stackoverflow.com/questions/3563909/rhino-vs-spidermonkey
Kelvin

3
Debian / Ubuntu'da: 'apt-get install rhino' ve ikili dosyaya js denir.
pevik

Aynı şeyi hissedip hissetmediğini bilmiyorum, ama rhyno oldukça kırılgan ve buggy buluyorum ... (Ubuntu
14.04

1
Benim için bu iş, hata ayıklama için console.log () kullanmaktan daha çok print ("msg") kullanın
Arefe

391

Başka bir cevap NodeJS olurdu!

Node.js, hızlı ve ölçeklenebilir ağ uygulamalarını kolayca oluşturmak için Chrome'un JavaScript çalışma zamanında oluşturulmuş bir platformdur. Node.js, dağınık aygıtlarda çalışan veri yoğun gerçek zamanlı uygulamalar için mükemmel ve verimli olmasını sağlayan olay güdümlü, engellemeyen bir G / Ç modeli kullanır.

Terminali kullanarak nodekomutu kullanarak başlatabilirsiniz .

$ node
> 2 + 4
6
> 

Not : Çıkmak istiyorsanız sadece şunu yazın

.exit

Bunun gibi bir JavaScript dosyası da çalıştırabilirsiniz:

node file.js

«ŞİMDİ yükleyin»


@NadirSampaoli Evet, gerçekten harika olan yeni bir teknoloji!
Ionică Bizău

Tek dezavantajı (bunu aramak istiyorsanız) düğümün her zaman "katı modda" olmasıdır. Doğru mu?
Nadir Sampaoli

@NadirSampaoli Hmmm, emin değilim. Bu soruya bakın: stackoverflow.com/q/9031888/1420197
Ionică Bizău

10
@NadirSampaoli Ben bir "dezavantajı" olarak sayılır şüpheliyim. Sıkı mod herkes için daha iyidir.
Paramanyetik Kruvasan

Herhangi bir javascript son 'tüketici' komutuna kaydırma hakkında herhangi bir tavsiye, kullanıcı umurumda değil? Gibi $> sudo apt-get install myFancyCmdizledi $>myFancyCmd hello.jpg -w 1234?
Frank Nocke

133

Eğer bir varsa Mac alabilirsiniz jscyazarak OS X (Terminal) 'de bir javascript konsolu

/System/Library/Frameworks/JavaScriptCore.framework/Versions/Current/Resources/jsc

içinde Terminal.app .

.Js betiğinizden birini, jsc için bağımsız değişken olarak adını ekleyerek şu şekilde çalıştırabilirsiniz:

jsc your_awesome_script_name.js

Uyarı : console.log()Geliştirme sırasında kullanıyorum ama jsc debug()bunun yerine işleve ihtiyaç duyuyor .

On Ubuntu Eğer bazı güzel olması ECMAScript kabukları emrinde. Aralarında SpiderMonkey'den bahsetmeye değer . Tarafından ekleyebilirsinizsudo apt-get install spidermonkey

On Windows'un diğer insanların güvenebileceğiniz söylediği gibi cscriptve wscriptdoğrudan OS üzerinde inşa etti.

Ben de başka bir :) yolu düşünme yolu, zamanınız varsa ve yeni şeyler öğrenmek istiyorsanız, ben kendi derleyici / konsol olan ve size süper doğru Javascript verir kahve komut dosyası bahsetmek istiyorum . Bunu tarayıcınızda da deneyebilirsiniz (bağlantı "coffeescript'i deneyin").


Ubuntu, 10.04'ten beri SpiderMonkey'i desteklemiyor. (Nedenini biliyor musun? Askubuntu.com/q/180572/482285 )
maciek

1
@maciek SpiderMonkey Ubuntu için hala kullanılabilir, ancak başka bir adla: paketleri.ubuntu.com/trusty/libmozjs-24-bin
microspino

1
@maciek ... böylece yapabilirsiniz: sudo apt-get install libmozjs-24-binve kabukta jssudo ln -sf /usr/bin/js24 /usr/bin/js ile kullanmak için kullanın .
microspino

Bu arada Ubuntu üzerinde kurulu console.logolan düğüm ile iyi çalışıyor sudo apt install nodejs. console.log('hey world, here I am')Çalıştırabileceğiniz tür bir uygulama için mükemmeldir node hey.js.
Nagev

30

Kullanım Burada, bunun için node.js nasıl yüklemek için örnektir nodekullanarak brewmac:

brew update && install node

Sonra yazarak programınızı çalıştırın node filename.jsve console.log()çıktı için kullanabilirsiniz .


Bu, herhangi bir javascript dosyasını izleyecek ve herhangi bir değişiklikle yeniden çalıştıracak olan github.com/remy/nodemon ile birlikte harika gider . Sadece nodemon yourjavascript.js ile çalıştırın
Denis

4
Bunu mu demek istediniz brew install node? install nodekendi başına hiçbir şey yapmaz.
numbermaniac

11

Kaba, ancak Javascript konsolunu Chrome'da (Ctrl + Shift + J) açabilir ve * .js dosyasının metin içeriğini yapıştırabilir ve Enter tuşuna basabilirsiniz.


4
Aslında o kadar da kaba değil ve kimsenin konuşmadığıma şaşırdım console.
Eduard Florinescu

11

MacBook kullanıyorsanız.

  1. Set up node.jssisteminizde ve terminalin açılması
  2. Js dosyasının kaydedildiği dizine gidin.
  3. Çalıştırmayı yürütmek için node <filename.js>

örneğin, dosya adı script.jsçalıştırılırsanode script.js


1
düğüm javascript yakındır, ancak tam olarak javascript değildir, örneğin, javascript IO dosyasını desteklemez, varsayılan olarak da işlev gerektirir; javascript dosyasını test etmek için iyi bir yol olmayabilir
Weijing Jay Lin

5

Alternatif olarak, sadece Javascript ile oynamak istiyorsanız tarayıcıda hoş bir seçenek Codecademy'nin Javascript Lab'dir .

Ayrıca bir Python ve Ruby IDE var.


4

Windows PC kullanıyorsanız, WScript.exe veya CScript.exe'yi kullanabilirsiniz

Bir tarayıcı ortamında olmadığınızı unutmayın, bu nedenle nesneye document.writedayanan veya windownesneye dayanan herhangi bir şey işe yaramayacaktır window.alert. Bunun yerine, WScript.Echobilgi istemine çıktı almak için arayabilirsiniz .

http://msdn.microsoft.com/en-us/library/9bbdkx3k(VS.85).aspx


Ubuntu için bir tane var mı, Google Chrome?
BLUC

Bu hayati bilgiyi soruya koymalısınız. Üzgünüm, ben bir Windows meraklısıyım - Ubuntu hakkında fazla bir şey bilmiyorum. Ayrıca, bir Ubuntu kabuk isteminden javascript çalıştırırken muhtemelen Google Chrome'a ​​erişemeyeceksiniz. EDIT: Andrzej Doyle'un cevabı sizin için gitmenin yolu.
Anders Tornblad

4

Bunu da araştırmayı denedim, ancak bunun yerine Remy Sharp tarafından jsconsole.com kullanıldı (ayrıca jsbin.com'u da yarattı). Ubuntu 12.10 üzerinde çalışıyorum, bu yüzden özel bir simge oluşturmak zorunda kaldım, ancak Windows'daysanız ve Chrome kullanıyorsanız Araçlar> Uygulama Kısayolları Oluştur'a gidin (bunun çok iyi çalışmadığını veya benim durumumda olmadığını unutmayın, Ubuntu'da). Bu site Mac jsckonsolu gibi çalışıyor : aslında sanmıyorum (bazı URL'lerden kütüphaneler / kod yükleme gibi) bazı harika özelliklere sahiptir jsc.

Bu yardımcı olur umarım.



2

Yukarıdaki tüm cevaplar harika, eksik bir şey görüyorum ve javascripts(*.js)dosyaları çalıştırmak için düşünülebilir , ilgisiz kardeşi .javascriptJava

JDKiki güzel araç ile geliyor, yürütmek için kullanılabilir javascripts. İşte komut böyle gider. Şuraya gittiğinizden emin olun:JDK\bin .

 jjs example.js

Başka bir tane ile geliyor commmandBöyle giden araç ortaya çıkıyor-

 jrunscript example.js

Umarım bu başkalarına yardımcı olabilir.


1

Bu bir "dolambaçlı" çözüm ama ipython kullanabilirsiniz

İpython not defterini terminalden başlatın:

$ ipython notebook

Javascript'i çalıştırabileceğiniz bir tarayıcıda açılır.

resim açıklamasını buraya girin


0

Ayrıca phantomjsphantomjs.org adresinden sisteme bağlı olarak phantomjs indir seçeneğini kullanabilirsiniz (benim durumum Max OSX) .Javascript dosyanızın üstüne phantomjs kurulum klasörünün yolunu koymalısınız. Örneğin. #!./bin/phantomjsKodunuzu kaydedin. Javascriptinizin kaydedildiği terminale gidin ve şunu kullanarak çalıştırabilirsiniz:> phantomjs filename.js


0

Teknik olarak, Node.js bir Belge Nesne Modeli (DOM) olmadığından bildiğimiz gibi uygun JavaScript değildir . Örneğin, tarayıcıda çalışan JavaScript komut dosyaları çalışmaz. Hiç. Çözüm, JavaScript'i başsız bir tarayıcıyla çalıştırmak olacaktır. Neyse ki hala aktif bir proje var: Mozilla Firefox'un başsız bir modu var .

https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Headless_mode

$ /Applications/Firefox.app/Contents/MacOS/firefox -headless index.html
*** You are running in headless mode.

0

Bash yoluyla bir js dosyasını çalıştırmak için yapmanız gereken tek şey: $ node filename.js

Bunu yaptığınızda, python'dakine benzer: $ python filename.py

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.