クライアント側のコードについては、正しいことをしています。babelify
それをクライアントに発送します。
サーバーサイドコードの場合、babel-cliを使用して通常のビルドを実行します
http://babeljs.io/docs/setup/#babel_registerによると、本番環境での使用を目的としたものでbabel-register
はありません—単純なケースでは、requireフックが主に推奨されます。
Babel6 +用
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のみにすることができます。その後のすべての要件は、バベルによって変換されます...
典型的なセットアップは次のようになります
server.js
require("babel/register");
var app = require("./app.js");
app.js
火をつけろ!
$ node server.js
require("babel/register");
、server.jsを入れてこれを試したところ、実行するnode server.js
とエラーが発生しました。Unexpected reserved word: import ...
そのため、機能していないようです