回答:
create-react-appは、内部で使用しているすべてのnpmモジュールをカプセル化するため、package.jsonは、心配することなく非常にクリーンでシンプルになります。
ただし、より複雑な処理を開始して、create-react-appが内部で使用しているモジュールと相互作用する可能性のあるモジュールをインストールする場合は、それらの新しいモジュールが何が利用可能であるかを知る必要があります。つまり、create-reactが必要です。 -それらの非抽象化アプリ。
それは、本質的に、何をするかreact-scripts eject
です。フードの下にインストールされているものを非表示にするのをやめ、代わりにそれらをプロジェクトのpackage.jsonに排出して、全員に表示します。
npm run eject
注:これは一方向の操作です。いったんeject
、戻ることはできません!
ビルドツールと構成の選択に満足できない場合は、eject
いつでもできます。このコマンドは、プロジェクトから単一のビルド依存関係を削除します。
代わりに、すべての構成ファイルと推移的な依存関係(Webpack、Babel、ESLintなど)をプロジェクトに直接コピーするので、それらを完全に制御できます。を除くすべてのコマンドeject
は引き続き機能しますが、それらはコピーされたスクリプトをポイントするため、調整することができます。この時点で、あなたは自分でいます。
使用する必要はありませんeject
。厳選された機能セットは、小規模および中規模の展開に適しており、この機能を使用する義務を負うべきではありません。ただし、準備ができているときにカスタマイズできない場合、このツールは役に立たないことを理解しています。
排出の代替
イジェクトでは何でもカスタマイズできますが、それ以降は、構成とスクリプトを自分で保守する必要があります。同様のプロジェクトが多数ある場合、これは困難な場合があります。このような場合、イジェクトする代わりに、フォークreact-scripts
やその他の必要なパッケージを用意することをお勧めします。この記事では、その方法について詳しく説明します。あなたはこの問題でより多くの議論を見つけることができます。
npm install react-scripts