2015-10-19 4 views

答えて

5

これは特に帆ではないnode.jsの質問です。はい現在のバージョンのnode.jsは、Node.jsのバージョンとサーバーの起動時に使用するフラグに応じて、特定のES2015標準をサポートします。

ほとんどの機能を使用すると、sails lift

次のリンクがどのようにノードのサポートとの現在のバージョンをどの機能で更新された情報を提供するのではなく、プロジェクトフォルダにnode app.js --es_stagingまたはnode app.js --harmonyを使用することになり、しかし、すべての機能を使用するには、すでにアクティブになっていますそれらにアクセスしてください。

https://nodejs.org/en/docs/es6/

8

あなたは、サーバー側のコードにJavascriptを変更しますので、最後のNode.jsでなど

を表現し、代わりに任意のフレームワークsails.jsようNode.jsのでES6の互換性をチェックする必要があります。 どのフレームワークを使用しているかは関係ありません。

You can use the sails with ES6:

については、kangax.github.ioです。

推奨:

Sails v 0.11.0 or greater

Node v 4.. or greater

npm v 2.14.4 or greater

は今、あなたは新しいEcmascript6機能を探検する準備が整いました。

http://es6-features.org/から新しい機能が追加されます。

TEST:

コード:

ecma6Test:function(req,res,next){ 
    var evens =req.body.evens 
    odds = evens.map(v => v + 1); 
    res.json({sucess:true,'odds':odds}); 
} 

要求:

{"evens":[2,4,6,8,10]} 

応答:

{ 
    "sucess": true, 
    "odds":[3, 5, 7, 9, 11] 
} 
+0

段階的な機能はV8チームによって安定しているとはみなされません。 --harmonyフラグでそれらをユーザに知らせることができます。しかし、私はあなたが安定するまで待たなければならないと思います。 –

2

ヴィシュヌの答えはあなたがカバーしています。 ES6の明示的なリストは、最新のノードのリリースで利用可能な機能

はここ https://nodejs.org/en/docs/es6/

Which ES6 features ship with Node.js by default (no runtime flag required)?

  • LETです(strictモードのみ)
  • のconst
  • 機能・イン・ブロック(strictモードのみ)
    • v8 3.31.74.1以降、ブロックスコープ宣言は意図的に非準拠のlimで実装されています厳密なモードコードへの変換。開発者は、v8がES6仕様に準拠していくにつれてこれが変わることに注意してください。
  • クラス(strictモードのみ)
  • コレクション
  • マップセット
  • WeakMap
  • WeakSet
  • 型付き配列
  • ジェネレータ
  • バイナリおよびオクタル・リテラル
  • オブジェクトリテラルの拡張機能(速記プロパティとメソッド)
  • 約束
  • 新しい文字列メソッド
  • シンボル
  • テンプレート文字列
  • アロー機能
+0

申し訳ありません。アプリはそれのために最高ではない –

15

SailsJSは、ES5の構文で記述されたばかりのフレームワークでありますES6をサポートする必要はありません。

いつものようにES6の構文でプロジェクトを書くことができ、Babel \ Traceur \を何でも実行することができます。

私の流れは以下の通りです:

  • 帆プロジェクトを作成します。
  • babeldevDependenciesとしてインストールします。
  • npm startスクリプトのpackage.jsonの更新は、"start": "babel-node app.js"です。

これだけです。私はコントローラ\ models \ etcにES6 \ 7コードを書いて、npm startコマンドでサーバを走らせることができます。これは、ES5の構文で書いたように通常どおり動作します。

Babel Transpiler

Babel Node

+0

あまりにも簡単に残念なことに。スローされたエラー: /node_modules/source-map-support/source-map-support.js:415 var hasStack =(arguments [1] && arguments [1] .stack); ^ TypeError:未定義のプロパティ 'filename'を読み取ることができません – alexmngn

1

あなたのために働くかもしれないsails-hook-babelフックがあります。以下で説明するように、私にとってはうまくいかないが、視界が良くなり、改善され、この答えがより適切になることを望む。

現在、v6.0.1以降、セイルフックの実行後にロードされたファイルに対してライブラリが機能します。これは、たとえばES2015を使用したい場合、 config/routes.jsファイルの場合、構文エラーが発生します。しかし、this issueに示唆されているように、ファイルはapiフォルダーにあります。

関連する問題