web-dev-qa-db-ja.com

Babel 6 CLI:予期しないトークンのエクスポート?

babel-nodeを使用してCLIでBabelを実行しようとしていますが、Unexpected token exportエラーが発生し続けます。 Babel 6はすべてプラグインに関するものであり、.babelrcを介してプラグインを設定する必要があることを理解していますが、正しく動作しないようです。

だからここに私の質問があります:

  • syntax-export-extensionsプラグイン を使用する必要がありますか?また、 package.jsonを介してプラグインを設定する の代わりの方法を試してみましたが、それでも運はありません。
  • また、Babel 6のCLIにはグローバル.babelrcオプションがありますか?プラグインを必要とするすべてのプロジェクトにプラグインをインストールする必要がある場合、それは退屈なようです...

私がエクスポートしようとしているものに興味がある人のために、クラスがあります:

'use strict';

class Factorial {
  static solve (num) {
    if(num === 0) return 1;
    else return num * Factorial.solve(num - 1);
  }
}

console.log(Factorial.solve(5))

export default Factorial;
9
iwatakeshi

開始する最も簡単な方法は、プリセットを使用することです。

まず、依存関係をインストールしましょう。

$ npm install --save-dev babel-cli babel-preset-es2015

次に、Babelを実行するpackage.jsonにbuildスクリプトを追加します(グローバルにインストールされたものではなく、ローカルバージョンのbabel-cliを使用するため、これは重要です)

"build": "babel input.js"

package.jsonは次のようになります。

{
  "name": "my-module",
  "devDependencies": {
    "babel-cli": "^6.x.x",
    "babel-preset-es2015": "^6.x.x"
  },
  "scripts": {
    "build": "babel input.js -o compiled.js"
  }
}

最後に、次のようにローカル.babelrcを更新します。

{
  "presets": ["es2015"]
}

次にnpm run buildを実行すると、準備完了です。

また、Babel 6のCLIにはグローバルな.babelrcオプションがありますか?プラグインを必要とするすべてのプロジェクトにプラグインをインストールする必要がある場合、それは退屈なようです...

プロジェクトコードを1つずつ更新せずに更新することはできないため、これは悪い考えです。ローカルバージョンがあると、この潜在的なエラーが発生する可能性が低くなります。

16
James Kyle

同じエラーが表示されましたが、webpack/babelの設定は正しく見えました。試行錯誤により、export myFunction with export default myFunctionとエラーが解決されました。


後で、エクスポートの正しい方法はexport {myFunction}。私はそれを実装し、すべてが正常に動作します。

4
user3405291