Czy w czasie wykonywania można wykryć, czy aktualna wersja React jest deweloperska czy produkcyjna? Chciałbym zrobić coś takiego:
if (React.isDevelopment) {
// Development thing
} else {
// Real thing
}
javascript
reactjs
pfhayes
źródło
źródło
browserify
ienvify
.process is not defined
na klienta.process.env.NODE_ENV
będzie to „programowanie” w trybie programowania.process.env.NODE_ENV
zostanie zdefiniowane dla Ciebie i będziesz mieć do niego dostęp w dowolnym miejscu aplikacji. Szczegółowe informacje można znaleźć w dokumentacji React .Używam pliku pomocniczego (w Typescript):
import process from "process"; const development: boolean = !process.env.NODE_ENV || process.env.NODE_ENV === 'development'; export default function isDev(): boolean { return development; }
Następnie gdzie indziej używam go w ten sposób:
import isDev from "./helpers/DevDetect"; if (isDev()) { ... }
źródło
Chciałem mieć do tego dostęp z pliku index.html i potrzebowałem rozwiązania, które nie wymagałoby wyjmowania webpacka ani konfigurowania go z dodatkowymi modułami i wymyśliłem to.
Źródła to powyższa odpowiedź Davida oraz dokumentacja aplikacji create-react-app na temat używania zmiennych środowiskowych w pliku html
if ( ! '%NODE_ENV%' || '%NODE_ENV%' === 'development') { // dev code } else { // production code }
źródło