If you're just getting started with OpenMRS SPA, please first set up a local development environment.
Setting up Microfrontends
- Install openmrs-module-spa on your OpenMRS server
- Create a directory, in which we will create a packmap package (see the following instructions). You'll probably want to make it a github repository, like this one.
- In this directory, create a package.json based on the packmap OpenMRS example
npm install
npm run build
- Symlink* the resultant openmrs/frontend directory into your OpenMRS server's application data directory as "frontend". For my SDK server named "foo", on Linux, I do
ln -s $(realpath openmrs/frontend) ~/openmrs/foo/frontend
Start the OpenMRS server
Navigate to localhost:8080/openmrs/spa/login (assuming your server is at localhost:8080)
- If the page comes up blank...
Open the browser developer console (probably Ctrl+Shift+i)
- Work through the errors with the Troubleshooting Guide
At this point, you should have microfrontends working entirely offline!
Adding configuration and assets without a custom root config
You can configure your application in the following manner
- Create a directory in your packmap package directory called "assets"
- Create a config.json file in that directory
Add the command*
ln -s $(realpath assets) openmrs/frontend/
to the build script inpackage.json
(separate it from previous commands with a&&
)- Add the following line to your override-import-map.json
"config-file": "/openmrs/frontend/assets/config.json"
That config file can refer to things you put in that assets directory, which will be served under
localhost:8080/openmrs/frontend/assets/
Developing on modules
TODO