私は角型2/4/5アプリケーションの開発に取り組んでいます(そのため2/4/5)、webpack
を使ってすべてをバンドルします。アプリケーション自体はC#で書かれたバックエンドAPIと通信します。ここでは、前述のバックエンドAPIに4つの異なるエンドポイントをもたらす4つの異なる環境をサポートする必要があるため、VSTSビルド定義と組み合わせてnpm run build:environment
の間にエンドポイントの値をどのように置き換えることができるかを検討しました特定のスクリプトを実行するときにも変換を行う必要があります。特定の環境に基づいてビルド時に設定ファイルのエンドポイント値を置き換えますか?
これは、設定ファイルがどのように見えるかです:
const AppConfig = {
hubName: "eventhub",
baseApiUrl: "https://endpoint.com/api/",
baseUrl: "https://endpoint.com/"
};
私はwebpack.prod.js
とwebpack.dev.js
で開始し、私は構成された2つのスクリプトがあります。build:prod
とbuild:dev
を。それらのwebpack
ファイルの両方ともprocess.env.ENV
の値をそれぞれproduction
とdevelopment
に設定しています。その情報を使って、process.env.ENV
の値をのファイルで読み込み、値に基づいてbaseApiUrl
とbaseUrl
の値を設定しましたが、それはうまくいかなかったが、デフォルトではdevelopment
に戻りました。そのアプローチを放棄し、webpack
にnormalModuleReplacementPlugin
を使用するなど、他のオプションを検討し始めましたが、ほとんど成功しませんでした。
ビルドタスクの実行中に設定ファイルの特定のプロパティを置き換える方法はありますか?
を私は[この]だと思う(HTTPS :/stackoverflow.com/questions/38116352/best-practices-of-config-value-update-for-build-definitions?rq = 1)SOの投稿は、あなたが必要とするものを手助けし、適切なトラックにあなたを設定する – ThePretendProgrammer
ありがとう!このポストは貴重な洞察を私に提供しましたが、提案された答えは実際は私にとって完璧な解決策です。 –