@genesisx/react-interapp-routing
v4.0.1-beta0.1
Published
Generator for setting up a proxy server for local hosting of multiple react applications.
Downloads
6
Maintainers
Keywords
Readme
react-interapp-routing
This Generator allows setting up a proxy server for local hosting of multiple react applications.
Usage
- Install the package first For Using this package into your app, please follow the below steps
- Install this npm package to your repo first
yarn add @genesisx/react-interapp-routing
- Run the Proxy Server
- Run this command
nx generate @genesisx/react-interapp-routing:proxy-server --portNo=5006
- for the first time the command will create the
<wsp-root>/gen-proxy.conf.json
- below following steps for configuraiton and then run the Proxy server again.
- Configuration & pre-requistes
- Make sure the apps are configured with all react apps and target urls are configured properly
{
"apps": [
"react-app-1",
"react-app-2"
],
"mainapps": {
"/home": {
"target": "http://localhost:{write-react-app-1-port-here}",
"secure": false
},
"/product": {
"target": "http://localhost:{write-react-app-2-port-here}",
"secure": false
}
}
}
The apps are already served (nx serve)
Run the proxy server now.
By example you can generate these both react apps by running commands bellow:
yarn nx generate @genesisx/react:application react-app-1 4202
yarn nx generate @genesisx/react:application react-app-2 4203
Via NX Console
After installation for above npm package:
- Goto nx console > search for generate
@genesisx/react-interapp-routing
- Enter a port number you want which by default is 9200
Via Command line
- Alternatively, use this command
nx generate @genesisx/react-interapp-routing:proxy-server --portNo=<your port number>
- If nx is not already installed then install it using
npm install -g nx
This will start the new proxy server on supplied port
Contribution
Running build and lints
Run nx lint react
to execute the lint checks on this package.
Run nx build react
to build this package.
Run nx test react
to execute the unit tests via Jest.
Publish to NPM
To publish the package you must first be logged into NPM (npm login) then run this command from the root of the project.
- Make sure the package name in package.json should start with @genesisx/
- Also use the correct version number in package.json same will be used for the published package.
- Use your NPM js credentials (Publicis Sapient) with publish rights
- Verify the package at https://www.npmjs.com/settings/genesisx/packages
npm publish dist/packages/react-interapp-routing --access public
Local development and testing
If you're going to locally develop and run/test this package you need to build it and copy into node_modules with every change. You can simply do this by running a bash command below:
yarn nx run react-interapp-routing:build && cp -R dist/packages/react-interapp-routing/ node_modules/@genesisx/react-interapp-routing/
Example local setup and running:
yarn nx run react-interapp-routing:build && cp -R dist/packages/react-interapp-routing/ node_modules/@genesisx/react-interapp-routing/
- If you're using the local react package as well:
yarn nx run react:build && cp -R dist/packages/react/ node_modules/@genesisx/react/
- Create first react app:
yarn nx generate @genesisx/react:application react-app-1 4202
- And the second one:
yarn nx generate @genesisx/react:application react-app-2 4203
- Run proxy server:
yarn nx generate @genesisx/react-interapp-routing:proxy-server
- Wait for message it's completed:
Proxy Server is now ready, open following url in your browser http://localhost:9200
- Visit either
http://localhost:9200/home
for react-app-1 orhttp://localhost:9200/products
for react-app-2