Skip to main content
Lightning Web Components can load and use third-party JavaScript libraries through Salesforce static resources. This allows you to leverage powerful libraries like Chart.js, D3, and FullCalendar in your components.

Loading Libraries

Use the loadScript and loadStyle functions from lightning/platformResourceLoader to load third-party libraries:
When using components in LWR sites, you may need a custom implementation of loadScript due to Lightning Locker limitations. See the Lightning Locker documentation for details.

Chart.js Example

Chart.js is a popular charting library that creates beautiful, responsive charts. JavaScript (libsChartjs.js):
Template (libsChartjs.html):

D3.js Example

D3 is a powerful library for creating data visualizations. This example creates an interactive force-directed graph.

FullCalendar Example

FullCalendar provides a full-featured calendar interface.
FullCalendar requires Lightning Web Security to be enabled for your org. It will not work with Lightning Locker.

Best Practices

Use Initialization Flags

Always use a flag to prevent loading libraries multiple times:

Load Multiple Resources

Use Promise.all() to load scripts and styles in parallel:

Handle Errors

Always wrap library loading in try-catch blocks and provide user feedback:

Use Manual DOM Mode

For libraries that manipulate the DOM directly, use lwc:dom="manual":

Uploading Libraries as Static Resources

  1. Download the library files
  2. Create a ZIP file if needed
  3. Upload to Setup > Static Resources
  4. Reference using @salesforce/resourceUrl/resourceName