Managing CSS and JavaScript
Edit this pageWarning: You are browsing the documentation for Symfony 4.3, which is no longer maintained.
Read the updated version of this page for Symfony 6.3 (the current stable version).
Managing CSS and JavaScript
Screencast
Do you prefer video tutorials? Check out the Webpack Encore screencast series.
Symfony ships with a pure-JavaScript library - called Webpack Encore - that makes
working with CSS and JavaScript a joy. You can use it, use something else, or just
create static CSS and JS files in your public/
directory and include them in your
templates.
Webpack Encore
Webpack Encore is a simpler way to integrate Webpack into your application. It wraps Webpack, giving you a clean & powerful API for bundling JavaScript modules, pre-processing CSS & JS and compiling and minifying assets. Encore gives you professional asset system that's a delight to use.
Encore is inspired by Webpacker and Mix, but stays in the spirit of Webpack: using its features, concepts and naming conventions for a familiar feel. It aims to solve the most common Webpack use cases.
Tip
Encore is made by Symfony and works beautifully in Symfony applications. But it can be used in any PHP application and even with other server side programming languages!
Other Front-End Articles
- Assetic
- How to Use a Custom Version Strategy for Assets
- Advanced Webpack Config
- Configuring Babel
- Using Bootstrap CSS & JS
- Using a CDN
- Async Code Splitting
- Copying & Referencing Images
- CSS Preprocessors: Sass, LESS, Stylus, etc.
- Adding Custom Loaders & Plugins
- Using webpack-dev-server and HMR
- FAQ and Common Issues
- Installing Encore
- jQuery Plugins and Legacy Applications
- Creating Page-Specific CSS/JS
- PostCSS and autoprefixing (postcss-loader)
- Enabling React.js
- Passing Information from Twig to JavaScript
- Creating a Shared Commons Entry
- Encore: Setting up your Project
- Enabling Source Maps
- Preventing Duplication by "Splitting" Shared Code into Separate Files
- Enabling TypeScript (ts-loader)
- Inlining files in CSS with Webpack URL Loader
- Asset Versioning
- Encore Versus Assetic?
- Using Encore in a Virtual Machine
- Enabling Vue.js (vue-loader)