Skip to content

Creating Page-Specific CSS/JS

Warning: You are browsing the documentation for Symfony 4.x, which is no longer maintained.

Read the updated version of this page for Symfony 7.2 (the current stable version).

If you're creating a single page app (SPA), then you probably only need to define one entry in webpack.config.js. But if you have multiple pages, you might want page-specific CSS and JavaScript.

To learn how to set this up, see the Encore: Setting up your Project example.

Multiple Entries Per Page?

Typically, you should include only one JavaScript entry per page. Think of the checkout page as its own "app", where checkout.js includes all the functionality you need.

However, it's pretty common to need to include some global JavaScript and CSS on every page. For that reason, it usually makes sense to have one entry (e.g. app) that contains this global code (both JavaScript & CSS) and is included on every page (i.e. it's included in the layout of your app). This means that you will always have one, global entry on every page (e.g. app) and you may have one page-specific JavaScript and CSS file from a page-specific entry (e.g. checkout).

Tip

Be sure to use split chunks to avoid duplicate and shared code between your entry files.

This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.
TOC
    Version