Come si esegue lo script JavaScript attraverso il terminale?


273

Ad esempio, se dovessi eseguire uno script Python, dovresti digitare python nomefile.py o se desideri eseguire un programma C, crea il nomefile quindi ./filefile . Come si fa con i file .js ?


1
JS non è un linguaggio generico, quindi perché dovresti farlo? Includi il tuo file .js in una pagina .htm (l) tramite il tag <script>, quindi apri la pagina nel tuo browser.
helpermethod,

3
@BLUC Si chiama eseguibile.
helpermethod,

eseguibile, applicazione, programma o binario. E su una nota più utile, avrai bisogno di un interprete JavaScript, come V8 o Rhino, o uno degli altri 1000 che sto dimenticando.
Corbin,

9
@OliverWeiler non è facilmente applicabile in situazioni generali come in altre lingue, ma credo che possa avere applicazioni al di fuori delle pagine Web :).
Corbin,

Un'applicazione di JavaScript è in Unity 3D
Bradman175 il

Risposte:


124

Avresti bisogno di un motore JavaScript (come Rhino di Mozilla ) per valutare lo script - esattamente come fai per Python, sebbene quest'ultimo sia distribuito con la distribuzione standard.

Se hai Rhino (o un'alternativa) installato e sul tuo percorso, eseguire JS può davvero essere semplice come

> rhino filename.js

Vale la pena notare tuttavia che mentre JavaScript è semplicemente una lingua a sé stante, molti script particolari presuppongono che verranno eseguiti in un ambiente simile a un browser - e quindi tentano di accedere a variabili globali come location.hrefe creare output aggiungendo Oggetti DOM anziché chiamare print.

Se sei in possesso di uno script che è stato scritto per una pagina web, potresti doverlo avvolgere o modificarlo in qualche modo per consentirgli di accettare argomenti da stdin e scrivere a stdout. (Credo che Rhino abbia una modalità per emulare i vars globali del browser standard che aiuta molto, anche se non riesco a trovare i documenti per questo ora.)


4
Cordiali saluti, differenza tra rinoceronte e spidermonkey (entrambe sono creazioni Mozilla): stackoverflow.com/questions/3563909/rhino-vs-spidermonkey
Kelvin

3
Su Debian / Ubuntu: 'apt-get install rhino' e binary si chiama js.
pevik,

Non so se provi la stessa cosa, ma trovo il rhyno piuttosto fragile e pieno di bug ... (con Ubuntu 14.04)
Ionică Bizău,

1
Questo lavoro per me, usa print ("msg") per il debug rispetto all'utilizzo di console.log ()
Arefe

392

Un'altra risposta sarebbe il NodeJS!

Node.js è una piattaforma basata sul runtime JavaScript di Chrome per creare facilmente applicazioni di rete veloci e scalabili. Node.js utilizza un modello I / O basato su eventi e non bloccante che lo rende leggero ed efficiente, perfetto per le applicazioni in tempo reale ad alta intensità di dati che vengono eseguite su dispositivi distribuiti.

Usando il terminale sarai in grado di avviarlo usando il nodecomando.

$ node
> 2 + 4
6
> 

Nota : se si desidera uscire basta digitare

.exit

Puoi anche eseguire un file JavaScript come questo:

node file.js

«Installalo ORA»


@NadirSampaoli Sì, è una nuova tecnologia che è davvero fantastica!
Ionică Bizău,

L'unico aspetto negativo (se si desidera chiamarlo così) è che il nodo è sempre in "modalità rigorosa". È corretto?
Nadir Sampaoli,

@NadirSampaoli Hmmm, non ne sono sicuro. Visualizza questa domanda: stackoverflow.com/q/9031888/1420197
Ionică Bizău

11
@NadirSampaoli Dubito che conti come un "aspetto negativo". La modalità rigorosa è migliore per tutti.
The Paramagnetic Croissant,

Qualche consiglio su come inserire un javascript nel comando finale 'consumer', l'utente non deve preoccuparsene? Come $> sudo apt-get install myFancyCmdseguito da $>myFancyCmd hello.jpg -w 1234?
Frank Nocke,

134

Se hai un Mac puoi ottenere jscuna console JavaScript in OS X (Terminale) digitando

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

in Terminal.app .

Puoi anche eseguire uno dei tuoi script .js aggiungendo il suo nome come argomento per jsc, in questo modo:

jsc your_awesome_script_name.js

Avviso : lo uso console.log()durante lo sviluppo ma jsc ha invece bisogno della debug()funzione.

Su Ubuntu hai alcune belle shell ECMAScript a tua disposizione. Tra loro vale la pena menzionare SpiderMonkey . Puoi aggiungerlo persudo apt-get install spidermonkey

Su Windows, come altri hanno affermato, puoi fare affidamento cscripte creare wscriptdirettamente sul sistema operativo.

Aggiungerei anche un altro modo di pensare :) al problema , se hai tempo e vuoi imparare cose nuove vorrei menzionare lo script del caffè che ha il suo compilatore / console e ti dà JavaScript super-corretto. Puoi provarlo anche sul tuo browser (link "prova coffeescript").


Ubuntu non supporta SpiderMonkey dal 10.04. (Sai perché? Askubuntu.com/q/180572/482285 )
maciek

1
@maciek SpiderMonkey è ancora disponibile per Ubuntu ma con un altro nome: pacchetti.ubuntu.com/trusty/libmozjs-24-bin
microspino

1
@maciek ... così puoi fare: sudo apt-get install libmozjs-24-bine l'uso sudo ln -sf /usr/bin/js24 /usr/bin/jsper usarlo con js nella tua shell.
microspino,

A proposito, console.logfunziona bene con il nodo , installato su Ubuntu con sudo apt install nodejs. Perfetto per console.log('hey world, here I am')un'app kinda, con cui puoi eseguire node hey.js.
Nagev,

30

Usa node.js per questo, ecco un esempio di come installare nodeusando brewsu mac:

brew update && install node

Quindi esegui il programma digitando node filename.jse puoi usarlo console.log()per l'output.


Questo va benissimo in combinazione con github.com/remy/nodemon che guarderà qualsiasi file javascript e lo eseguirà su qualsiasi modifica. Quindi basta eseguirlo con nodemon yourjavascript.js
Denis

4
Non intendi brew install node? install nodeda solo non farà davvero nulla.
numbermaniac

11

È rozzo, ma puoi aprire la console Javascript in Chrome (Ctrl + Shift + J) e incollare il contenuto del testo del file * .js e premere Invio.


4
In realtà non è così rozzo, e sono rimasto sorpreso dal fatto che nessuno abbia parlato console.
Eduard Florinescu,

11

Se stai usando MacBook.

  1. Installa node.jsnel tuo sistema e apri il terminale
  2. Passare alla directory in cui è stato salvato il file js.
  3. Per eseguire la corsa node <filename.js>

esempio, se viene script.jseseguito il nome filenode script.js


1
il nodo è vicino a javascript ma non è esattamente javascript, ad esempio javascript non supporta il file IO, c'è anche la funzione di default; potrebbe non essere un buon modo per testare il file javascript
Weijing Jay Lin

5

In alternativa, se stai solo cercando di giocare con Javascript, una buona opzione nel browser è il Javascript Lab di Codecademy .

Hanno anche un IDE Python e Ruby.


4

Se utilizzi un PC Windows, puoi utilizzare WScript.exe o CScript.exe

Tieni presente che non ti trovi in ​​un ambiente browser, quindi cose come document.writeo qualsiasi cosa che si basa windowsull'oggetto non funzionerà, come window.alert. Invece, puoi chiamare WScript.Echoper inviare materiale al prompt.

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


Ce n'è uno per Ubuntu, Google Chrome?
BLUC,

Avresti dovuto mettere quella informazione vitale nella domanda. Mi dispiace, sono un fanatico di Windows - non so molto di Ubuntu. Inoltre, probabilmente non avrai accesso a Google Chrome quando esegui javascript da un prompt della shell di Ubuntu. EDIT: Andrzej Doyle la risposta è la strada da percorrere per te.
Anders Tornblad,

4

Ho provato anche a fare ricerche su questo, ma invece ho finito per usare jsconsole.com di Remy Sharp (ha anche creato jsbin.com). Sono in esecuzione su Ubuntu 12.10, quindi ho dovuto creare un'icona speciale, ma se sei su Windows e usi Chrome semplicemente vai su Strumenti> Crea scorciatoie applicazione (nota che non funziona molto bene, o nel mio caso, su Ubuntu). Questo sito funziona in modo molto simile alla jscconsole Mac : in realtà ha anche alcune funzioni interessanti (come il caricamento di librerie / codice da un URL) che immagino di jscno.

Spero che questo ti aiuti.



2

Tutte le risposte di cui sopra sono grandi, vedo una cosa che manca e potrebbe essere considerato per l'esecuzione di javascripts(*.js)file, l' estraneo fratello javascriptdel Java.

JDKviene fornito con due strumenti utili, che potrebbero essere utilizzati per l'esecuzione javascripts. Ecco il comando va come. Assicurati di navigare verso JDK\bin.

 jjs example.js

Viene fuori con un altro commmandstrumento che va così:

 jrunscript example.js

Spero che questo possa essere utile agli altri.


1

Questa è una soluzione "rotonda" ma potresti usare ipython

Avviare il notebook ipython dal terminale:

$ ipython notebook

Si aprirà in un browser in cui è possibile eseguire javascript

inserisci qui la descrizione dell'immagine


0

Puoi anche usare phantomjsScarica phantomjs a seconda del sistema (il mio caso è Max OSX) da phantomjs.org . Dovresti inserire il percorso della cartella di installazione di phantomjs nella parte superiore del tuo file javascript. per esempio. #!./bin/phantomjsSalva il tuo codice. Vai al terminale in cui è stato salvato il tuo javascript e puoi eseguirlo usando> phantomjs filename.js


0

Tecnicamente, Node.js non è JavaScript come lo conosciamo, dal momento che non esiste un Document Object Model (DOM) . Ad esempio, gli script JavaScript eseguiti nel browser non funzioneranno. Affatto. La soluzione sarebbe quella di eseguire JavaScript con un browser senza testa. Fortunatamente esiste un progetto ancora attivo: Mozilla Firefox ha una modalità senza testa .

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

Tutto quello che devi fare per eseguire un file js tramite bash è digitare: $ node filename.js

Questo è simile a in Python, quando fai: $ python filename.py

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.