javascript - Perf ei ole määritelty - ajetaan react-sovellusta webpack-dev-serverin kanssa
Yritän mitata Reactin suorituskykyä Perf-lisäosalla, mutta kun yritän suorittaa Perf.start() konsolissani, saan virheen: Uncaught ReferenceError: Perf is not defined(…)
On syytä mainita, että olen asentanut laajennuksen npm:n kautta ja minulla on require('react-addons-perf') pääsivustoni main.js-tiedostossa.
Minulla on arvaus, että tämä ongelma liittyy siihen, että ajan webpack-dev-serveriä ja globaalia muuttujaa ei ole asianmukaisesti altistettu, mutta valitettavasti minulla ei ole aavistustakaan, kuinka siihen pitäisi oikein suhtautua. Voiko joku auttaa minua tässä?
Tässä on webpack.config-tiedostoni sisältö codepenissä viitteeksi.
Vastaus #1
En tiedä, voisiko webpack.config-tiedostossasi olla muutoksia, jotka voisivat muuttaa scopingia tai paljastaa muuttujan, jotta se olisi käytettävissä globaalin scopen kautta, mutta yksi nopea tapa olisi yksinkertaisesti käyttää
global.Perf = require('react-addons-perf');
Tämän pitäisi antaa sinulle pääsy konsolin kautta.
Mutta on sanottava, että sitä ei ehkä ole tarkoitettu paljastamaan globaaleja muuttujia globaalisti requireJS:ssä
Ja yritä ehkä löytää tapa laukaista Perf.start() ja Perf.stop() omasta koodistasi käsin, ei konsolista!
Vastaus #2
Löysin ratkaisun, joka toimi minulle:
- Asenna npm expose-loader -moduuli
Lisää seuraava rivi webpack-konfiguraatiosi lataajiin:
{ test: require.resolve("react-addons-perf"), loader: "expose?Perf" }
Tämä expose-loader-moduuli on loistava tapa paljastaa moduulin vienti globaaliin näkyvyysalueeseen.
