javascript - Perf er ikke defineret - kører react-app med webpack-dev-server
Jeg forsøger at måle React-ydeevne med Perf-tilføjelsen, men når jeg prøver at køre Perf.start() i min konsol, får jeg en fejl: Uncaught ReferenceError: Perf is not defined(…)
Værd at nævne, at jeg har installeret pluginet gennem npm og har en require('react-addons-perf') i min main.js-fil.
Jeg har en formodning om, at dette problem relaterer til det faktum, at jeg kører en webpack-dev-server, og den globale variabel ikke er korrekt eksponeret, men desværre har jeg ingen idé om, hvordan jeg korrekt skal tackle det. Kan nogen hjælpe mig med det?
Her er indholdet af min webpack.config-fil på CodePen til reference.
Svar #1
Jeg ved ikke, om der kan være ændringer i din webpack.config, som kunne ændre scopingen eller gøre en variabel tilgængelig via det globale scope, men en hurtig måde ville være blot at bruge
global.Perf = require('react-addons-perf');
Dette burde give dig adgang via konsol.
Men man må sige, at det måske ikke er hensigten at eksponere globale variabler globalt i requireJS
Og prøv måske at finde en måde at udløse Perf.start() og Perf.stop() fra din kode, ikke konsollen!
Svar #2
Fandt en løsning, der virkede for mig:
- Installer npm-modulet expose-loader
Tilføj følgende linje til dine webpack-konfigurationsloadere:
{ test: require.resolve("react-addons-perf"), loader: "expose?Perf" }
Dette expose-loader modul er en fantastisk måde at eksponere modul-eksport til globalt scope på.
