I have an app created with create-react-app that I want to install in a subdirectory on my website. The recommended way is to add process.env.PUBLIC_URL
as the baseurl. ie:
<Route exact path={`${process.env.PUBLIC_URL}/signin`} component={SigninPage}/>
Now is there a way I can set it at the app level so I don't have to duplicate this piece of code on every Routes or Links or NavLinks?
Thanks!
In your package. json file change the homepage entry to a relative path, excluding any sub-domain/nested directory. Save this answer.
To add the link in the menu, use the <NavLink /> component by react-router-dom . The NavLink component provides a declarative way to navigate around the application. It is similar to the Link component, except it can apply an active style to the link if it is active.
You can set it as basename
on your Router
, here are links to the react router docs: basename
in BrowserRouter
and basename
in HashRouter
. It would look something like this:
<Router basename={process.env.PUBLIC_URL}>
</Router>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With