process.env
недоступно в вашем коде Javascript, но будет доступно для Webpack во время компиляции.Webpack поддерживает определение глобальных переменных в вашей среде Javascript с помощью DefinePlugin , поэтому, добавив новое определение плагина следующим образом:
plugins: [
new webpack.DefinePlugin({
__IS_BETA__: process.env.IS_BETA === "true",
}),
],
в конфигурации Webpack, __IS_BETA__
будет заменено на протяжении всего вашегоКод Javascript, основанный на том, была ли переменная среды IS_BETA установлена в true при компиляции приложения.
Затем вы можете ссылаться на нее в своем коде React следующим образом:
export const App = () => (
<BrowserRouter>
<div className="d-flex flex-column height-100vh">
<Navbar />
{__IS_BETA__ && (
<Switch>
<Route path="/PrivacyPolicy" component={PrivacyPolicy} />
<Route path="/TermsOfUse" component={TermsOfUse} />
<Route path="/Login" component={Login} />
<Route path="/Forgot" component={Forgot} />
<Route path="/Reset" component={Reset} />
<Redirect to="/Login" />
</Switch>
)}
{!__IS_BETA__ && (
<Switch>
<Route exact path="/" component={Home} />
<Route path="/PrivacyPolicy" component={PrivacyPolicy} />
<Route path="/TermsOfUse" component={TermsOfUse} />
<Route path="/Register" component={Register} />
<Route path="/Login" component={Login} />
<Route path="/Forgot" component={Forgot} />
<Route path="/Reset" component={Reset} />
<Redirect to="/" />
</Switch>
)}
<Footer />
</div>
</BrowserRouter>
);