cari

Rumah  >  Soal Jawab  >  teks badan

Akses skema daripada konfigurasi webpack

<p>Saya mempunyai kod berikut dalam <code>webpack.config.js</code>: </p> <pre class="brush:js;toolbar:false;">module.exports = { entri: { indeks: "./src/index.js", kandungan: "./src/content.js" }, mod: "pengeluaran", // Bagaimana untuk mengakses nilai ini daripada kod React? devtool: 'inline-source-map', ... </pra> <p>Saya perlu menggunakan pelanggan lain untuk PayPal bergantung pada sama ada <kod>mod</kod> ialah <kod>'pembangunan'</kod> atau <kod>'pengeluaran'</kod> ; ID (kotak pasir atau persekitaran sebenar). Saya berharap untuk mengelakkan pertindihan. Jadi, bagaimana saya boleh mengakses nilai ini daripada kod React saya? </p>
P粉505917590P粉505917590591 hari yang lalu462

membalas semua(1)saya akan balas

  • P粉547362845

    P粉5473628452023-08-18 15:42:58

    Anda boleh mengakses mod ini dengan melanjutkan eksport modul sebagai fungsi anak panah. Ia adalah sebahagian daripada hujah kedua (args) yang boleh kita dekonstruksi.

    1

    2

    3

    4

    5

    6

    7

    module.exports = (env, { mode }) => {

      const isDevMode = mode === 'development';

     

      return {

         ...webpack配置在这里

       }

    }

    Anda kemudian boleh mencipta pembolehubah persekitaran klien menggunakan sesuatu seperti webpack.define, sebagai contoh:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    ## 在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)

      )}),

    Anda kemudian boleh mengakses pembolehubah persekitaran itu dengan merujuk SOME_ENV (atau apa sahaja yang anda panggil) di mana-mana dalam JS pelanggan anda.

    balas
    0
  • Batalbalas