Reactコンポーネントを作成して公開したいと考えています。公開方法リアクションを含まないリアクトコンポーネント
私はpackage.json
に入れている:
"peerDependencies": {
"react": "^15.6.1",
"react-dom": "^15.6.1"
},
とのWebPACKと私のモジュールを構築するときに、私のコンポーネントがこれを叫ぶないだろうと期待:
Module not found: Error: Can't resolve 'react'
はどのように生産コンポーネントをコンパイルすることができますリアクトを含めることなく?
は、私はいくつかの有名なものにチェック:私は私のdevDepsに反応する追加した場合そして、彼らはリストには、(テストや開発の目的のために、私は推測する、とdevDependeciesで)のみpeerDependeciesで反応 をし、 webpack -p
を実行すると正常にコンパイルされますが、コンポーネントバンドルにはreact
があります。
私は何をしないのですか?
UPDATE 私は、これは正しくコンパイルされて、それがバンドルに反応するが、私はこのプロジェクトでそれをインポートするときに使用するように反応して含まれていない、WebPACKのコンフィグ(要旨が更新された)で、「外部」オプションを追加しましたそれはそれは私を与える:
は、それが私のコンポーネントのReact.Component
を見つけるとすぐに未定義
の「コンポーネント」プロパティを読み込めません...
おかげで、私は(あなたが問題の更新要旨を見ることができます)外観のオプションを追加した、それはコンパイルし、維持私が望むように反応しますが、それをReactと 'import 'するプロジェクトでインポートすると、' React.Component'を読むときに「プロパティを読み込めません」というコンポーネントがあります。 – ciaoben
それを消費するプロジェクト反応を起こして反応を起こすことができます。 'npm install'を実行すると、そこになければ、' peerDependenices'はビルドなどを呼び起こし、潜在的に破壊するはずです。さらに、UMDやCJSなどの異なるビルドターゲットを持つかもしれません。私は典型的なセットアップを含めるために私の答えを更新しました –
PSは要点にアクセスできない、漏洩を防ぐために設計された企業のファイアウォールの背後にブロックされています... –