從webpack配置存取模式
P粉505917590
P粉505917590 2023-08-17 19:12:37
0
1
392
<p>我在<code>webpack.config.js</code>中有以下程式碼:</p> <pre class="brush:js;toolbar:false;">module.exports = { entry: { index: "./src/index.js", content: "./src/content.js" }, mode: "production", // 如何從React程式碼存取此值? devtool: 'inline-source-map', … </pre> <p>根據<code>mode</code>是<code>'development'</code>還是<code>'production'</code>,我需要為PayPal使用不同的客戶端ID(沙盒或真實環境)。我希望避免重複。那麼,我如何從我的React程式碼存取該值? </p>
P粉505917590
P粉505917590

全部回覆(1)
P粉547362845

您可以透過將模組匯出擴展為箭頭函數來存取該模式。它是第二個參數(args)的一部分,我們可以解構。

module.exports = (env, { mode }) => {
  const isDevMode = mode === 'development';

  return {
     ...webpack配置在这里
   }
}

然後,您可以使用類似webpack.define的方法建立客戶端環境變量,例如:

## 在webpack配置之前

const SOME_STUFF = {
  production: "a",
  development: "b"
};

const bakeEnvironmentValues = (values, mode) => {
  return values[mode];
};


## 在plugins中

 new webpack.DefinePlugin({
     SOME_ENV: JSON.stringify(
         bakeEnvironmentValues(SOME_STUFF, mode)
  )}),

然後,您可以透過在客戶端JS中的任何位置引用SOME_ENV(或您所稱呼的任何名稱)來存取該環境變數。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!