12

perl -cコマンドからJavaScriptの構文チェックに相当するものはありますか?NodeJSをインストールしているとしたら?

JSLintは実際のパーサーではないため、考慮されません。YUIコンプレッサーは可能だと思いますが、実稼働マシンにJavaをインストールしたくないので、Node.JSがすでにこの構文チェックメカニズムを提供しているかどうかをチェックしています。

4

3 に答える 3

8

uglifyを試してください。npm経由でインストールできます。

編集:パッケージ名が変更されました。uglify-jsです。

于 2012-06-15T13:36:30.680 に答える
5

@ライアン

perl(別のスクリプト言語)で行うような構文チェックを実行したい場合は、単純に使用できます。ノード-c

たとえば、test.jsのjsファイルには-

let x = 30
if ( x == 30 ) {
  console.log("hello");
else {
  console.log( "world");
}

node -c test.js それを入力するとあなたが表示されます

test.js:5
 else {
 ^^^^
SyntaxError: Unexpected token else
    at startup (bootstrap_node.js:144:11)
    at bootstrap_node.js:509:3

構文の問題を修正した後、

let x = 30
if ( x == 30 ) {
  console.log("hello");
} else {
  console.log( "world");
}

構文を確認してください-node -c test.js構文エラーは表示されません!!

-これを使用して、dir内のすべてのファイルの構文をチェックすることもできます。-node -c *.js

お役に立てば幸いです。

于 2018-05-24T22:02:08.783 に答える
2

さらなる調査のスポットの後、私はその反対票を取り消したことを後悔しています。

nodejs --help

-pスイッチについて説明します。提供されたコードを評価し、結果を出力します。したがって、nodejs -p </path/to/file.jsを使用すると、サーバー上のnode.jsコードの有効性を確認するための悲惨な方法になります。考えられる解決策の1つは、このSOスレッドに示されているものです。それについてあまり良くないことの1つ-それが報告する構文エラーメッセージはひどく役に立たない。たとえば、何かが間違っていることはわかりますが、どこが間違っているかはわかりません。

于 2015-03-03T05:36:24.597 に答える