create-react-app webpackの設定とファイルはどこにありますか?


172

create-react-appパッケージでReactJSプロジェクトを作成しましたが、うまくいきましたが、webpackファイルと構成が見つかりません。

react-create-appはwebpackでどのように機能しますか?webpack構成ファイルは、デフォルトのインストールのどこにありますcreate-react-appか?プロジェクトのフォルダーに構成ファイルが見つかりません。

オーバーライド構成ファイルを作成していません。他の記事で構成設定を管理できますが、従来の構成ファイルを見つけたいです。

回答:


96

webpackファイルと構成を検索する場合は、package.jsonファイルに移動してスクリプトを探します

img

スクリプトオブジェクトがライブラリ反応スクリプトを使用していることがわかります

次にnode_modulesに移動し、react-scriptsフォルダーを探しますreact-script-in-node-modules

このreact-scripts / scriptsおよびreact-scripts / configフォルダーには、すべてのWebpack構成が含まれています。


1
私は見ましたが、反応スクリプトdirはありません
Mohammad

4
create-react-appを使用してアプリを作成しましたが、私の場合、node_modulesにフォルダreact-scriptsがあります。あなたのpackage.jsonを共有できますか
Vikram Thakur

5
この答えは正しくなくなりましたnode_modules
。NPM

4
実際のWebPACKの設定はここにある:github.com/facebook/create-react-app/blob/master/packages/...
protoEvangelion

最も一般的な使用例は、プロジェクトのwebpack構成をカスタマイズすることです。しかし、node_modulesにある場合は、npmをインストールするたびに上書きされますよね?
ブラン

59

ドキュメントから:

WebpackやBabelなどのツールをインストールまたは構成する必要はありません。コードに集中できるように、これらは事前構成および非表示になっています。

設定ファイルにアクセスしたい場合は、以下を実行してイジェクトする必要があります。

npm run eject

注:これは一方向の操作です。イジェクトすると、元に戻すことはできません。

ほとんどのシナリオでは、イジェクトしないで、別の方法で機能させる方法を見つけることをお勧めします。そうすればcreate-react-app、Webpackの依存関係の地獄に対処する必要がなく、依存関係を更新できます。


6
これらが非表示になっていることはわかっていますが、これらがどこにあり、react-create-appがこの機能をどのように処理するのか知りたいのですが?
Mohammad

次に、おそらくソースコードを見る必要があります。よく
わかり

2
@Mohammadが「react-scripts」のソースをチェックアウトすると、そこにすべての構成が見つかります
Jose Munoz

1
質問には答えませんが、関係なく私を助けました
チキンスープ

32

多くの人が自分の設定を追加するためにwebpackの設定とファイルを見つけることを目的としてこのページにアクセスします。実行せずにこれを実現する別の方法npm run ejectは、react-app-rewiredを使用することです。これにより、イジェクトせずにwebpack構成ファイルを上書きできます。


6
それはまだ望ましい解決策ですか?再配線されたプロジェクトに次の警告があります:github.com/timarney/react-app-rewired#rewire-your-app- : "Create React App 2.0以降、このリポジトリはこの時点でほとんどコミュニティによって"軽く "維持されています。 ..注:個人的には、どちらもそのままでカスタムWebpackをサポートするnext.jsまたはRazzleを使用しています。」
アンソニーコング

24

あなたがイジェクトしたくなくて、あなたがそれらを見つけるであろう設定を見たいだけだと仮定します /node_modules/react-scripts/config

webpack.config.dev.js. //used by `npm start`
webpack.config.prod.js //used by `npm run build`


10

あなたは内部でそれを見つけることができるの/ configフォルダー。

イジェクトすると、次のようなメッセージが表示されます。

 Adding /config/webpack.config.dev.js to the project
 Adding /config/webpack.config.prod.js to the project


3

次のコマンドを実行して、構成ファイルを取り出してみてください。

npm run eject

次に、プロジェクトに作成されたconfigフォルダーを見つけます。あなたはあなたのwebpack設定ファイルをinitで見つけるでしょう。


0

私はそれがかなり遅いことを知っていますが、この問題に遭遇する将来の人々のために、CRAのwebpack設定にアクセスしたい場合は、実行する必要がある以外に他の方法はありません:

$ npm run eject

ただし、排出の場合は、CRAの更新パイプラインから自分自身を取り除くため、排出の時点から自分で維持する必要があります。

私はこの問題に何度も遭遇したため、CRAとほとんど同じ設定を持つ反応アプリ用のテンプレートを作成しましたが、追加の特典(styled-components、jestユニットテスト、デプロイメント用のTravis ci、よりきれいなものなど)も持っています、ESLintなど)を使用して、メンテナンスを容易にします。リポジトリをチェックしてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.