2016-05-10 5 views
0

私はBabelで新しく、node.jsの中でBabelを使用していくつか質問があります。私のノードアプリケーションのメインファイルである 'app.js'という名前のファイルがあります。ですので、「app.js」は、babel with sub jsファイル

babel app.js --out-file app-compiled.js 

と表示されています。問題はサブファイルです。 "app.js"には、外部のjavascriptファイルを読み込む構文があります。

import MyComponent from './components/mycomponent'; 

と「./components/mycomponentの内部」です:

... 
var MyComponent = { ... }; 
... 
export default MyComponent; 

と私が開始した場合 'アプリ-compiled.jsインポート/エクスポート 'を' サブファイルを使用しているので、それはエラーが発生しました'

サブファイルを自動的にコンパイルするなどの方法がありますか?ES2015ノードのアプリケーション全体を、ノードが理解できる単一のJavaScriptファイルにバンドルする方法はありますか?

それは私にいくつかのアドバイスを与えることは非常に感謝しています!

p.s.申し訳ありませんが、私は言及を忘れてしまった:私はうまく機能しているが、どのようにバベルとノードアプリでES2015使用負荷外部JSを作るために

{ 
    "presets": [ 
    "es2015", 
    "react" 
    ] 
} 

バベルと.babelrc作成しましたか?

+0

ノード用のものか、ブラウザ用のものを作成していますか? NodeはES6の 'import'の' export'構文をまだ理解していないので、 'require'を使い続ける必要があり、ブラウザで動作させるにはwebpackやbrowserifyを使う必要があります。 – Andy

答えて

0

Babelは、ES2015/ES6をそのまま使用することはできません。そのためには、es2015プリセットを有効にする必要があります。

それはhereを概説ですが、基本的にあなたのプロジェクトのディレクトリにこれを実行する必要があります。その後

$ npm install --save-dev babel-preset-es2015 
$ echo '{ "presets": ["es2015"] }' > .babelrc 

を、あなたはbabelコマンドにあなたが今やっているのと同じ方法で実行することができ、それがにimport/exportを翻訳しなければなりませんES5相当品

+0

ああ、すみません。私はそれに言及するのを忘れました、私はすでに{"presets":["es2015"、 "react"]}で.babelrcを作成しました。 babelは実際には動作しますが、私の質問はES2015で使用される外部のJavaScriptをどのように読み込むのですか? – modernator

+1

すべてのコードを1つのファイルに配置する場合は、BrowserifyやWebpack(Babelサポートを含む)などのバンドラが必要です。あるいは、BabelにすべてのES6ファイルをES5に転送させ、それらを別のディレクトリ( '--out-dir')に書き込ませることができます。 – robertklep

+0

よろしくお願いいたします。試してみます ;) – modernator