2017-04-06 3 views
0

これはBABEL: Unknown option: base.Childrenと関連しているようですが、ここで提供されている修正は私の状況には役立ちません。 2日前に私は開発モード(「電子鍛造開始」を介して)とパッケージアプリケーション(「電子鍛造パッケージ」によって生成されたフォルダ内の実行可能ファイルを開始する)として実行された電子アプリケーションを持っていました。アプリ開発で動作し続け、それが生産に実行されますが、バベルは、Webコンソールでエラーが発生します。Electron-forge + Babel + React + JSX:プロダクションアプリで "未知のオプションbase.Children"

Unknown option: base.Children. Check out http://... 

これは私のJSXファイルのいずれかを求める最初の必要は声明で発生(別の事があります:react-forgeはJSXを透明化しないし、私はRTFMにそのことについて話されそうだと思う)。私はいつでも同じエラーをポップアップすることができます。私がしなければならないことは、コンソールにrequire( 'somefile.jsx') "と入力するだけです。同じことができます。このエラーを調べると、オプションマネージャのmergeOptions関数は、プリセットとプラグインを組み込む予定のループ中のある時点でReactのコピーが渡されていることがわかります。この場合も、アプリケーションコードを変更した後ではこれが起きませんでした。 NPMでいくつかのパッケージを更新しようとしましたが、次のビルドではこのエラーが発生しました。

私はnode_modulesディレクトリを完全に拭き取り、新しく 'npm install'を実行してから 'electron-rebuild'を実行し、アプリケーションの再パッケージ化によって同じ結果が得られます。私は、バベルのウェブサイトのドキュメントに従って、.babelrcの内容をpackage.jsonに組み込もうとしました。繰り返しますが、devは正常に動作し、プロダクションは失敗します。準拠した.compilercを作成すると、同様の異種の結果が生成されました。私のプロダクションアプリは、Babelのオプションが必要なReactコンポーネントをどのように入手していますか?

答えて

0

解決策が見つかりました。それは組み合わせの問題です。それ自体に反応し、BabelのReactプリセットは両方ともプリセット名として '反応する'と答えます。プラグインが見つからないのにReactが存在する場合、BabelはReactを引き出し、mergeOptionsに渡して、記述されたエラーを生成します。 もう一方で、devの依存関係と一般的な依存関係の下でpackage.json内にモジュール(Reactプリセットのような)が必要なのを間違えた場合、electron-forgeによって実行されるパッケージサブプロセスは一般的なエントリを無視します依存関係。結果:プリセットがなく、「プリセットがありません」というエラーが出るのではなく、Reel自体を吸い取って、探していたプリセットがあると思われます。

関連する問題