2016-12-09 5 views
3

私はReact-webpack Webアプリケーション(クライアント側のみ - APIサーバなし)を持っていて、package.jsonファイルを整理していました。すべての依存関係は依存関係ではありません。プロダクションのWebアプリケーション - ビルドしてビルドされたファイルを配布します。React-webpack web app package.jsonの依存関係はすべてdevの依存関係だと考えるのは間違いありませんか?

これは正しいですか?

+0

これを数回読み返す必要がありました。それは私の考えを得ることができたと私の最初の気持ちは、私は単純なアプリケーションの文脈であなたに同意することです – Pineda

+0

この質問はconciousnessのストリームのように聞こえる場合は謝罪! – cubabit

答えて

1

ReactとおそらくReactDOMは依存関係になります。ページ上に表示されている使用しているライブラリは、依存関係になります(例:react-autosuggest)。他のすべては一般的にdevDependencyです。

これについてはまだ大きなコンセンサスはありません(たとえばthis webpack issueを参照)。一部の人々は依存関係としてすべてをやりたい、devDependencyとして他のもの、バンドルされた依存関係のケースを作ることができると確信しています。上記で概説したソリューションはうまくいくと思われるベストプラクティスです。たとえば、パッケージのバージョン範囲を使用している場合、webpack、eslint、karma、mochaなどへのマイナー/パッチのバージョン変更は気にしません。パッチレベルの変更反応のようなものに変換されるので、はるかに短い従属リストに分離されます。 (1つのプロジェクトを見ると、依存関係とdevDependencyの間に4~5倍の違いがあるようです。それらを依存関係ツリーに集めれば、意味のある変更を見つけるのがずっと簡単です)。

+0

しかし、私が 'npm i --production'を行った場合、チェックアウトされたプロジェクトはどんな使い方もしていますか? – cubabit

+1

すべてのユーティリティライブラリは_dependencies_にも入るでしょう。つまり、 'Lodash' –

+0

これはトップレベルの反応アプリケーションなので、このプロジェクトを' npm i --production'する理由はありません。非常に創造的なことをしない限り、おそらくnpmの依存関係の終わりです。 –

関連する問題