2012-06-14 17 views
10

Ci sono equivalenti alla verifica della sintassi perl -c per JavaScript dal comando? Dato che ho installato NodeJS?Verifica sintassi per JavaScript utilizzando il comando

JSLint non è considerato poiché non è un parser reale. Penso che il compressore YUI sia possibile ma non voglio installare Java sulle macchine di produzione, quindi sto verificando se Node.JS abbia già fornito questo meccanismo di controllo della sintassi.

+0

Provare uglify. Puoi installarlo via npm. –

+0

Installa solo java o altro? Se solo java puoi controllare http://www.javascriptlint.com/ – Prusse

+0

Non dovresti controllare la sintassi prima di spingere il progetto in produzione? Forse anche prima di impegnarsi? –

risposta

8

Provare uglify . Puoi installarlo via npm.

Modifica: il nome del pacchetto è stato modificato. È uglify-js.

+1

Questo potrebbe essere cambiato. Ottengo questo errore: ERR npm! 404 'uglify' non è nel registro di NPM. – taco

1

Dopo un po 'di ulteriori ricerche mi dispiace di aver annullato questo voto negativo.

nodejs --help 

spiega l'opzione -p: valuta il codice fornito e stampa i risultati. Quindi usare nodejs -p < /path/to/file.js sarebbe un modo disastroso per verificare la validità del codice node.js sul tuo server. Una possibile soluzione è quella indicata nel thread SO this. L'unica cosa non va bene - i messaggi di errore di sintassi che segnala non sono di grande aiuto. Ad esempio, ti dice che qualcosa non va, ma senza dirti che è dove è sbagliato.

+0

Ad essere sincero, penso che tu abbia ragione. Penso che sia possibile che quando ho postato la mia risposta, il comportamento fosse corretto per la versione del nodo che stavo correndo. Attualmente uso 'js -C ' per verificare i file JS della sintassi, è stato così per un po '. Ho cancellato la mia risposta. – pgl

+0

Purtroppo questa risposta non ha molto senso. Mi dispiace per quello – pgl

+0

@pgl node -C ? Potresti spiegare? Questo è per il controllo della sintassi JS lato server? È questa un'opzione della riga di comando per V8js per caso? – DroidOS