2017-01-05 8 views
11

Facebookは反応するアプリケーションを構築するためにcreate-react-appcommandを提供しています。 npm run buildを実行すると、/buildフォルダに出力が表示されます。create-react-appの使用時にカスタムビルド出力フォルダを使用

NPMの実行ビルド

は、ビルドフォルダへの生産のためのアプリケーションを構築します。それは正しく バンドル生産モードで反応し、最高の パフォーマンスのためのビルドを最適化します。

ビルドは縮小され、ファイル名にはハッシュが含まれます。あなたのアプリ はすぐに導入できます!

/buildではなくカスタムフォルダを出力に使用するにはどうすればよいですか?ありがとう。

+0

この[質問]を参照してください(https://stackoverflow.com/questions/44448851/how-do-i-change-src-folder-to-something- else-in-create-react-app/48590867#48590867) 'build'を 'whatever'に変更してみてください。それを試していない。 – nikrb

答えて

9

現在の設定オプションでビルド出力フォルダ名を変更することはできません。

さらに、あなたはしないでください。これはthe philosophy behind react-create-appの一部です:彼らはコンベンションオーバーコンベンションと言っています。

あなたが本当にあなたのフォルダの名前を変更する必要がある場合は、私は2つのオプションを参照してください。ビルドプロセスが終了した後に

  1. 右を、あなたがをしたい別のフォルダにコピーするビルドフォルダの内容、そのコマンドを記述します。たとえば、try the copyfiles npm packageなどと似ています。

  2. eject react-create-appを試して、設定を調整することができます。

    ビルドツールと構成の選択に満足できない場合は、いつでも取り出すことができます。このコマンドは、プロジェクトから単一のビルド依存関係を削除します。

    代わりに、すべての設定ファイルと推移的な依存関係(Webpack、Babel、ESLintなど)をプロジェクトにコピーして完全に制御できるようにします。取り出し以外のすべてのコマンドは引き続き動作しますが、コピーされたスクリプトを指し示すので、それらを調整することができます。この時点であなたはあなた自身でいる。

    ただし、これは片方向操作であることに注意することが重要です。一旦取り出したら、に戻ることはできません!今後のアップデートはすべて失われます。したがって

私は可能な場合は、カスタムフォルダの命名を使用しないようにお勧めしたいです。デフォルトの命名規則に従ってください。オプションでない場合は、#1を試してください。それでもあなたの特定のユースケースではうまくいかず、あなたは本当にオプションがありません - #2を探検してください。がんばろう!

あなたのルートディレクトリの下に、少しハックして設定を更新することができ
+0

ファイルをコピーすると、フォルダの名前を変更するとどのような利点がありますか? – azium

+0

私の主な関心事は、他の 'react-create-app'コマンドのどれかが入力用に'/build'フォルダを使用していると、問題を引き起こすかもしれないということでした。 (例:展開プロセス中)。コピーは私が見る最も安全な選択です。 PS:デフォルトの '/ build'フォルダを入力用に使用する予定がない場合、私はあなたに同意します。名前を変更するだけで同じトリックが実行されます。 –

0

  1. NPMの実行イジェクト
  2. のconfig/webpack.config.prod.js - 行61 - への転換路:__dirname + '../ ../ - choice--のディレクトリ ' - 行68から
  3. のconfig/paths.js resolveAppへの更新(' choice--の./--ディレクトリ ')

--yourディレクトリを置き換えますあなたがそれをビルドしたいフォルダディレクトリと

私が提供するパスは少し汚れている可能性がありますが、これはあなたが設定を変更するために必要なすべてです。

11

編集しpackage.json:

"build": "react-scripts build && mv build webapp" 
+1

私はそれを "build"しなければなりません: "反応スクリプトは&& rm -rf docs && mv build docs" 'それ以外の場合は最初の実行の後に上書きするのではなく、ビルド_docsフォルダに移動します。 – TimoSolo

関連する問題