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
it a joy to work with CSS and JavaScript. You can use it, use something else, or
create static CSS and JS files in your public/
directory directly 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!
Encore Documentation ¶
Getting Started ¶
- Installationインストール
- Using Webpack EncoreWebpack Encore の使用
Adding more Features ¶
- CSS Preprocessors: Sass, LESS, etcCSS プリプロセッサ: Sass、LESS など
- PostCSS and autoprefixingPostCSS と自動接頭辞
- Enabling React.jsReact.js を有効にする
- Enabling Vue.js (vue-loader)Vue.js (vue-loader) を有効にする
- Copying & Referencing Images画像のコピーと参照
- Configuring Babelバベルの設定
- Source mapsソースマップ
- Enabling TypeScript (ts-loader)TypeScript (ts-loader) を有効にする
Optimizing ¶
- Versioning (and the entrypoints.json/manifest.json files)バージョニング (および entrypoints.json/manifest.json ファイル)
- Using a CDNCDN の使用
- Async Code Splitting非同期コード分割
- Preventing Duplication by "Splitting" Shared Code into Separate Files共有コードを別々のファイルに「分割」することによる重複の防止
- Inlining Images & Fonts in CSSCSS での画像とフォントのインライン化
Guides ¶
- Using Bootstrap CSS & JSブートストラップ CSS と JS の使用
- jQuery and Legacy ApplicationsjQuery とレガシー アプリケーション
- Passing Information from Twig to JavaScriptTwig から JavaScript に情報を渡す
- webpack-dev-server and Hot Module Replacement (HMR)webpack-dev-server およびホット モジュール交換 (HMR)
- Adding custom loaders & pluginsカスタム ローダーとプラグインの追加
- Advanced Webpack Configuration高度な Webpack 構成
- Using Encore in a Virtual Machine仮想マシンでの Encore の使用
Issues & Questions ¶
- FAQ & Common Issuesよくある質問とよくある問題
Symfony UX Components ¶
- ux-autocomplete: Transform
EntityType
,ChoiceType
or any<select>
element into an Ajax-powered autocomplete field (see demo)ux-autocomplete: EntityType、ChoiceType、または任意の要素を Ajax を利用したオートコンプリート フィールドに変換します (デモを参照) - ux-chartjs: Easy charts with Chart.js (see demo)ux-chartjs: Chart.js を使用した簡単なチャート (デモを参照)
- ux-cropperjs: Form Type and tools for cropping images (see demo)ux-cropperjs: 画像をトリミングするためのフォーム タイプとツール (デモを参照)
- ux-dropzone: Form Type for stylized "drop zone" for file uploads
(see demo)ux-dropzone: ファイル アップロード用の定型化された「ドロップ ゾーン」のフォーム タイプ (デモを参照)
- ux-lazy-image: Optimize Image Loading with BlurHash
(see demo)ux-lazy-image: BlurHash による画像読み込みの最適化 (デモを参照)
- ux-live-component: Build Dynamic Interfaces with Zero JavaScript
(see demo)ux-live-component: ゼロ JavaScript で動的インターフェイスを構築する (デモを参照)
- ux-notify: Send server-sent native notification with Mercure
(see demo)ux-notify: サーバーから送信されたネイティブ通知を Mercure で送信します (デモを参照)
- ux-react: Render React component from Twig (see demo)ux-react: Twig から React コンポーネントをレンダリングします (デモを参照)
- ux-swup: Integration with Swup (see demo)ux-swup: Swup との統合 (デモを参照)
- ux-turbo: Integration with Turbo Drive for a single-page-app experience
(see demo)ux-turbo: 単一ページのアプリ エクスペリエンスのための Turbo Drive との統合 (デモを参照)
- ux-twig-component: Build Twig Components Backed by a PHP Class
(see demo)ux-twig-component: PHP クラスに基づく Twig コンポーネントのビルド (デモを参照)
- ux-typed: Integration with Typed (see demo)ux-typed: Typed との統合 (デモを参照)
- ux-vue: Render Vue component from Twig (see demo)ux-vue: Twig からの Vue コンポーネントのレンダリング (デモを参照)
Other Front-End Articles ¶
- How to Use a Custom Version Strategy for Assetsアセットにカスタム バージョン戦略を使用する方法
- Advanced Webpack Config高度な Webpack 構成
- Configuring Babelバベルの設定
- Using Bootstrap CSS & JSブートストラップ CSS と JS の使用
- Using a CDNCDN の使用
- Async Code Splitting非同期コード分割
- Copying & Referencing Images画像のコピーと参照
- CSS Preprocessors: Sass, LESS, Stylus, etc.CSS プリプロセッサ: Sass、LESS、Stylus など
- Adding Custom Loaders & Pluginsカスタム ローダーとプラグインの追加
- Using webpack-dev-server and HMRwebpack-dev-server と HMR の使用
- FAQ and Common Issuesよくある質問とよくある問題
- Installing Encoreアンコールのインストール
- jQuery Plugins and Legacy ApplicationsjQuery プラグインとレガシー アプリケーション
- PostCSS and autoprefixing (postcss-loader)PostCSS と自動接頭辞 (postcss-loader)
- Enabling React.jsReact.js を有効にする
- Passing Information from Twig to JavaScriptTwig から JavaScript に情報を渡す
- Encore: Setting up your ProjectEncore: プロジェクトのセットアップ
- Enabling Source Mapsソース マップの有効化
- Preventing Duplication by "Splitting" Shared Code into Separate Files共有コードを別々のファイルに「分割」することによる重複の防止
- Enabling TypeScript (ts-loader)TypeScript (ts-loader) を有効にする
- Inlining Images & Fonts in CSSCSS での画像とフォントのインライン化
- Asset Versioningアセットのバージョニング
- Using Encore in a Virtual Machine仮想マシンでの Encore の使用
- Enabling Vue.js (vue-loader)Vue.js (vue-loader) を有効にする
- The Symfony UX Initiative & PackagesSymfony UX イニシアチブとパッケージ