How to call LWC in Visualforce Pages

In Salesforce development, integrating Lightning Web Components (LWC) into Visualforce Pages is indispensable for a variety of tasks.

This integration is especially crucial when:

  • Ensuring consistent user experiences in both Lightning and Classic interfaces.
  • Utilizing Lightning Web Components within Force.com sites or Portals for extended functionality.
  • Extending the reach of LWC components beyond the Salesforce ecosystem.

By using LWC in VF pages, users can get a unified experience across Lightning and Classic interfaces for a diverse user base and harness the power of Lightning Web Components outside of Salesforce, opening avenues for external applications and services.

In this guide, we’ll walk you through the essential steps to call LWC in Visualforce Pages, enabling you to leverage the strengths of both technologies seamlessly. Let’s begin!

Steps to Call LWC in Visualforce Pages

1. Create a Lightning Web Component:

You can use the below code for the component and deploy it to your salesforce org.
Note:- The name of my component is ‘CallingLwcInVfPages’

HTML Code:

JS Code:

Js-Meta.xml Code:

Note: You can change the target and specify where you want that component to be shown e.g “lightning__AppPage”

Now, we will require an intermediate Aura Application. The necessity for this application arises because we can not directly use LWC or AURA within VisualForce. Therefore, we must establish a dependency on the Aura Application.

2. Create an Aura/Lightning Component:

This aura application will serve as a wrapper for our Lightning web component. After creating the application, proceed to establish the dependency for our application.

Note: The name of my Aura Application is ‘visualforceAuraApplications’

Aura Application:

3. Create a Visualforce Page:

Now, the final step is to create a VisualForce Page which will have LWC inside the same.

To load your LWC or Aura Component inside the VF page we will use the $Lightning.use() method.

The $Lightning.use() function takes four arguments & they are as follows:

  • appName(String): Required* (The name of our lightning dependency app, including namespace. For example, “c:visualforceAuraApplications”)

Note: We must follow ‘Camel Case’ notation while calling our LWC component inside our Aura Application

  • Callback(function): A function to call once the Lightning Component framework and our app have fully loaded. The callback receives no arguments. This callback is usually where you call $Lightning.createComponent() to add our app to the page
  • lightningEndPointURL(String): Optional if we are using inside Salesforce. The URL for the Lightning domain on your Salesforce instance. For example, https://MyDomain.lightning.force.com.
  • authToken: Optional if we are using inside Salesforce.

VF Page Code:

4. Preview the Outcome

Now, click on “Preview” or “Preview your VF page”. Wait for a few seconds and you will observe the output as follows:

click on “Preview” or “Preview your VF page

Conclusion:

By following these steps, you can harness the combined power of Lightning Web Components and Visualforce, opening doors to new possibilities in Salesforce development.

Share your experiences with us, and stay tuned for more insightful solutions in the ever-evolving landscape of Salesforce development. Happy Learning!

Our Location worldwide
India
3rd Floor, A-10, Pegasus Tower, Sector 68, Noida, Uttar Pradesh 201301 +91-1203117884
SR Tower 2nd Floor Hydel Gate Haldwani Uttarakhand 263126 +91-5946359996
USA
333 West Brown Deer Road Unit G – 366 Milwaukee WI, USA 53217 +1(262) 310-7818
UK
7 Bell Yard, London, WC2A 2JR +44 20 3239 9428
Canada
HIC Global Solutions INC
43 Lafferty Lane, Richmond Hill, L4C 3N8, CA +1(262) 310-7818