2016-07-18 59 views
1

Reactでマルチテナントアプリケーションをビルドしています(ベース、dev、prodの設定ファイルを使ってWebpackをセットアップしています)、テナントごとの変数を作成してアクセスするにはどうすればよいでしょうか。Reactのマルチテナントアプリケーション

私は私のアプリを実行すると:

npm run start tenant1

私はこれを使って、WebPACKの中でtenant1にアクセスすることができる午前:

const tenant1 = process.argv[process.argv.length -1];

しかし、今私が何であるかを思ったんだけどその変数をグローバルにアクセス可能にする最良の方法です。すべての単一のJavaScriptファイルに変数をインポートすることなく、

理想的

/app/${tenant}/img/ /app/${tenant}/css/ /app/${tenant}/components/

:私の希望は、の線に沿ってアプリ内でフォルダ構造を作成するために、その変数を使用することです。

既存の設定への提案やリンクがあれば幸いです。

答えて

0

私はこれにかなり手作業でアプローチしました。

私はreact/redux boilerplateを使用していますが、私はそうのようなNPMスクリプト変更した:

"start:tenant1": "cp -r ./tenants/tenant1 ./app/tenant && cross-env NODE_ENV=development node server", 
"start:tenant2": "cp -r ./tenants/tenant2 ./app/tenant && cross-env NODE_ENV=development node server", 

各テナントフォルダは、開発サーバは、関連するコマンドを実行しているアプリにコピーされ、ファイルを各テナントフォルダ(masthead.svg、vars.jsなど)内で同じ名前が付けられているため、アプリ全体のインポートが静的になる可能性があります。

これは、本番環境でノードサーバーを使用していないため、ほとんどの場合、静的ビルドフォルダは定型句によって生成されます。

これは誰かを助けることを望みます。

関連する問題