2017-07-17 5 views
0

基本的にJavaScriptの細分化プロセスでは、基本的に空白、コメントが削除されます。これを基にして、NodejsでECMA5またはECMA6にコードが必要かどうかに関する言語仕様が必要なのはなぜですか?なぜミニドキュメントを実行し、空白とコメントを削除してコードを縮小しないのでしょうか。自分のコードがECMA5または6で書かれているかどうかを気にする必要があるのはなぜですか?ノードJSミニ化

ありがとうございます。

+0

なぜESバージョンが重要だと思いますか? – Lazyexpert

+0

私のコードベースはECMA5と6が混在しています。私はgulp-uglifyを使用しましたが、gulp-uglifyが縮小しなかったECMA6言語仕様を使用していたため、エラーが発生しました。 – ramasCoder

+0

uglifyをバックエンドに使用していますか? – Lazyexpert

答えて

3

定義によるJavaScriptの細分化プロセスは、基本的に空白、コメントを削除します。

私はあなたが引用している「定義」を知らない。細工は多く、多くは白いスペースを絞り出す以上にです。ミニファイアーは、高度なミニフェイズを行うために、ソース全体を解析します。明らかに、そうするためには、構文解析している構文を知る必要があります。 ES6の構文を知らないと、ES6の入力を解析できません。 ES6を縮小するには、ES6をサポートするミニカーを選択する必要があります。

+0

あなたの応答に感謝しますが、余分なものが、言語仕様の順守を必要とする空白とコメントを削除することとは別にいくつかの例を挙げることができます。 – ramasCoder

+1

多くの例があります。非常に単純なものが「真」で「!0」になります。もう一つは 'if(false){LONG_PIECE_OF_CODE}'が完全に削除されていることです。もちろん、どちらもES6固有のものではありませんが、どちらもコードを解析する必要があり、ミニファイアは認識している構文のみを解析できます。 –