クライアント側のコードについては、正しいことをしています。babelify
それをクライアントに出荷します。
サーバー側のコードについては、babel-cliを使用して通常のビルドを行うだけです。
http://babeljs.io/docs/setup/#babel_registerによると、本番環境での使用は意図されていませんbabel-register
— require フックは主に単純なケースに推奨されます。
バベル6+用
Babel 6 以降、デフォルトでは変換は含まれていません。babel-cli
それでは、とをインストールすることから始めましょうbabel-preset-es2015
。
$ npm install --save-dev babel-cli babel-preset-es2015
ファイルに変換を追加し.babelrc
ます — これは上記でダウンロードした perst モジュールです。プリセットの完全なリストを見て、どのプリセットが最適かを確認してください。
{
"presets": ["es2015"]
}
build
にスクリプトを追加しますpackage.json
。以下src
は入力ファイルでbuild
、変換された出力ファイルです
"scripts": {
"build": "babel src -d build"
}
それからそれを構築してください!
$ npm run build
次に、コードを実行します。build
この時点で、ディレクトリ内のファイルを実行する必要があります
$ npm start
Babel <= 5 の場合は、require フックを使用してください。
require("babel/register");
拡張子.es6、.es、.jsx、および.jsを持つノードに必要な後続のすべてのファイルは、Babel によって変換されます。ポリフィルも自動的に必要になります。
ソースファイルを ES6 に保持したまま、以下を使用して実行することができますnode server.js
あなたのコメントによると、あなたは少し問題を抱えているようです。上記の黄色で強調表示された部分に特に注意してください。最初のファイルは、ノード自体で実行される ES5 のみにすることができます。後続のすべての require は、Babel によって変換されます...
典型的なセットアップは次のようになります
サーバー.js
// only ES5 is allowed in this file
require("babel/register");
// other babel configuration, if necessary
// load your app
var app = require("./app.js");
app.js
// this file will be loaded through babel
// you can now use ES6 here and in every other include
火をつけろ!
$ node server.js