It's important to know that the OHIF Viewer project provides two different build processes:
# Static Asset output: For deploying PWAsyarn run build # Single `.js` script, for embedding viewer into existing appsyarn run build:package
Progressive Web Apps are a new breed of web applications that meet the following requirements. Notably, targeting a PWA allows us provide a reliable, fast, and engaging experience across different devices and network conditions.
The OHIF Viewer is maintained as a monorepo. We use WebPack to build
the many small static assets that comprise our application. Also generated is an
index.html that will serve as an entry point for loading configuration and the
application, as well as a
service-worker that can intelligently cache files so
that subsequent requests are from the local file system instead of over the
You can read more about this particular strategy in our Build for Production Deployment Guide
The @ohif/viewer package is built with WebPack to provide a React
component that can be dropped into a larger application. The
component is the entire viewer, configurable via React
props. This is useful
for including the OHIF Viewer in a larger web application, as the entire
application can be provided via a
<script> tag with no build process required.
The bundle is not as performant or as optimized as the PWA build. It includes fonts, styles, and the core extensions. If you find yourself facing performance issues, you may wish to tweak what's included in this bundle or switch to the PWA build.
You can read more about this particular strategy in our Embedded Viewer Deployment Guide