ノード アプリケーションでは、次のようなハーモニー フラグを指定してノードを実行する必要があります。
node --harmony app.js
このハーモニーフラグは何ですか?それは何をしますか、なぜそれなしではアプリを実行できないのですか?
ノードのコマンドライン オプション ( node --help
) を調べてみましたが、詳細も提供されません。ノードのドキュメントも役に立ちませんでした。
ノード アプリケーションでは、次のようなハーモニー フラグを指定してノードを実行する必要があります。
node --harmony app.js
このハーモニーフラグは何ですか?それは何をしますか、なぜそれなしではアプリを実行できないのですか?
ノードのコマンドライン オプション ( node --help
) を調べてみましたが、詳細も提供されません。ノードのドキュメントも役に立ちませんでした。
タイプman node
すると、ハーモニー フラグに次のように表示されます。
--harmony_typeof (enable harmony semantics for typeof)
type: bool default: false
--harmony_scoping (enable harmony block scoping)
type: bool default: false
--harmony_modules (enable harmony modules (implies block scoping))
type: bool default: false
--harmony_proxies (enable harmony proxies)
type: bool default: false
--harmony_collections (enable harmony collections (sets, maps, andweak maps))
type: bool default: false
--harmony (enable all harmony features (except typeof))
type: bool default: false
すべてのハーモニー--harmony
機能 (例: 、 など) を有効にするためのショートカット--harmony_scoping
も--harmony_proxies
同様です。ファイルが調和なしで実行されない理由は、おそらく、新しい ECMAScript 6 標準の下位互換性のない機能 (ブロック スコープ、プロキシ、セット、マップなど) を使用しているためです。app.js
古いバージョンの nodejs で ECMAScript 6 機能を実行する場合は、 --harmony フラグを使用できます。ノードの最新バージョンは ES6 をサポートしているため、 --harmony フラグは不要です
ノードのドキュメントに記載されているように、 --harmony フラグを使用すると、ES6 の安定していないがすぐに安定する機能が有効になります。
Node.js の --harmony フラグの現在の動作は、ステージングされた機能のみを有効にすることです。結局、これは --es_staging のシノニムになりました。前述のように、これらはまだ安定しているとは見なされていない完成した機能です。特に本番環境で安全にプレイしたい場合は、デフォルトで V8 に出荷されるまで、したがって Node.js に出荷されるまで、このランタイム フラグを削除することを検討してください。これを有効にしておくと、V8 がセマンティクスを変更して標準に厳密に従うようになった場合に、Node.js のさらなるアップグレードでコードが壊れることに備える必要があります。
ノード js で調和モジュールを有効にします: http://wiki.ecmascript.org/doku.php?id=harmony:modules