2016-07-11 15 views
0

私は同形反応プロジェクトで作業しており、Reduxモジュール内でStripeノードSDK(REST APIと比較して)を使用しようとしています。 Webpackがプロジェクトをビルドするとき、私はエラー:Module not found: Error: Cannot resolve module 'child_process'を得ます。私はこれがノードのみのモジュールなので、ブラウザ上で使用することはできません(私はStripe APIコールをサーバー側から呼び出すことを望みます)、Stripe node_moduleがパッケージ化されていないことを確認する方法はわかりませんブラウザのapp.jsファイルに追加します。同形React/Redux/Webpackのノードライブラリを使用

reduxモジュールのJSX側で、stripeモジュールをインポートしていますが、私はstripe.modelからIStripeインターフェイスをインポートし、getPlansListディスパッチャはmy stripe reduxモジュールからインポートしています。

私の質問は、同型Reactプロジェクト内のノードのみのモジュールをどのように使用するのですか?私のStripeコールを処理するサーバー専用のノードプロセスを別に実行する必要がありますか?または、私の同形アプリ内にこの機能を含めることは可能ですか?

ありがとうございます!

+0

ちょっとした調査をしています。サーバーとクライアントの両方が使用できるAPIプロキシを実装することをお勧めします。そうすれば、サーバー側でプライベートAPI資格情報を保護することができます。このようなもの:https://github.com/topheman/topheman-apis-proxy – omencat

答えて

0

the issueをご覧ください。ブラウザでstripe-nodeを実行しないでください。

あなたはWebPACKのコンフィグで設定 aliasでき

:ブラウザでストライプを使用する必要がない場合は、あなただけのAPIのためのスタブとして空のファイルstripe-browser

{ 
    resolve: { 
     alias: { 
      'stripe': './src/stripe-browser' 
     } 
    } 
} 

を作成することができます。

ブラウザでAPIを使用する場合は、Stripe.jsクライアント側ライブラリのアダプタを作成する必要があります。

+0

ブラウザからサードパーティのAPIを使用したくないです。私はサーバー側からこれらの呼び出しを行いたいだけです。私が読んだことから、いくつかの同形反応の定型テンプレートに見られるように、それが利用したAPIプロキシがあります。しかし、私は空のストライプブラウザスタブを作ることが何か不思議です。それはブラウザ側ではなくサーバー側で動作しますか? – omencat

+0

'webpack' configに' alias'を置く限り、webpackビルドにのみ影響します。したがって、期待通りに動作する 'node'でコードを実行することができます。 –

関連する問題