私たちはReact + GraphQLプロジェクトをエコシステムの他のレイヤとは独立させ、開発者の経験を向上させようとしています。それに合わせて、Apollo自身のgraphql
HOCをラップし、内部の環境変数を使用してネットワークのフェッチと模擬データを切り替える、細いHOCを作成しました。プロダクションビルドでは、がimport
であっても、模擬データはすべて明らかに使用されません。Webpackビルドでモックモジュールをバンドルすることを避けるにはどうすればよいですか?
はあなたが/同じアプリを壊していない他のすべてを維持しながらを必要とするつもりはありません知っているのWebPACKの生産バンドルのモジュール含む回避するための方法はありますか?
何かのようなdynamic import()
は、トリックを行いますが、あなたが必要でないものを省略するのではなく、あなたのビルドをチャンクアップします。
更新日:このアプリケーションはcreate-react-app1.0.17
以降を使用して作成されました。
模擬データモジュールを本番環境の空モジュールに解決することは可能でしょうか? https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/config/webpack.config.prod.js – HMR
模擬したいデータを返信して、ローカルで解決する模擬アポロクライアントNODE_ENV === 'production'がapolloのモックを提供していないときは、webpack.confファイルのNODE_ENV env varを使ってあなたの模擬モジュールにapolloを渡します。それはうまくいくはずです –
@HMR私はそれが真っ直ぐな解決策であると信じています。どのようにそれにアプローチする上の任意のアイデア? –