{"id":1776,"date":"2025-11-11T13:35:50","date_gmt":"2025-11-11T12:35:50","guid":{"rendered":"https:\/\/wiki.ad-libitum.info\/?page_id=1776"},"modified":"2025-11-11T17:14:59","modified_gmt":"2025-11-11T16:14:59","slug":"bootstrap-und-fontawesome-hinzufuegen","status":"publish","type":"page","link":"https:\/\/wiki.ad-libitum.info\/?page_id=1776","title":{"rendered":"Bootstrap und FontAwesome hinzuf\u00fcgen"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Webpack Encore einbinden: <code>composer require symfony\/webpack-encore-bundle<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bootstrap und Fontawesome installieren: <code>npm install bootstrap @fortawesome\/fontawesome-free --save.<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im Root des Projekts die Datei <code>assets\/app.js<\/code> erstellen mit folgendem Inhalt:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>import 'bootstrap\/dist\/css\/bootstrap.min.css';<br>import '@fortawesome\/fontawesome-free\/css\/all.min.css';<br>import 'bootstrap'; <em>\/\/ JS f\u00fcr Bootstrap-Komponenten<\/em><\/code><br><code>import _.\/styles\/app.css'; <em>\/\/ <\/em>f\u00fcr die eigene CSS<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dann m\u00fcssen im Twig-Template JS und CSS eingebunden werden:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>{{ encore_entry_link_tags('app') }}<br>{{ encore_entry_script_tags('app') }}<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn es im Projektroot keine <code>package.json<\/code> gibt, muss mit <code>composer require symfony\/webpack-encore-bundle<\/code> Webpack installiert und mit <code>npm install<\/code> initialisiert werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im Projektroot die Datei <code>webpack.config.js<\/code> erstellen:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code><em>\/\/ webpack.config.js<\/em><br>const Encore = require('@symfony\/webpack-encore');<br><br>Encore<br>&nbsp;&nbsp;&nbsp;&nbsp;.setOutputPath('public\/build\/')<br>&nbsp;&nbsp;&nbsp;&nbsp;.setPublicPath('\/build')<br>&nbsp;&nbsp;&nbsp;&nbsp;.addEntry('app', '.\/assets\/app.js')<br>&nbsp;&nbsp;&nbsp;&nbsp;.enableStimulusBridge('.\/assets\/controllers.json')<br>&nbsp;&nbsp;&nbsp;&nbsp;.enableSassLoader()<br>        &nbsp;&nbsp;&nbsp;&nbsp;.enablePostCssLoader()<br>&nbsp;&nbsp;&nbsp;&nbsp;.enableSourceMaps(!Encore.isProduction())<br>&nbsp;&nbsp;&nbsp;&nbsp;.enableVersioning(Encore.isProduction())<br>&nbsp;&nbsp;&nbsp;&nbsp;.enableSingleRuntimeChunk()<br>;<br><br>module.exports = Encore.getWebpackConfig();<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bei Stimulus, SASS und CSS pr\u00b4\u00fcfen, ob die wirklich gebraucht werden. Wenn nicht, l\u00f6schen oder auskommentieren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die <code>package.json<\/code> im Root muss folgendes enthalten:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8222;<code>scripts\": {<br>&nbsp;&nbsp;&nbsp;&nbsp;\"dev\": \"encore dev\",<br>&nbsp;&nbsp;&nbsp;&nbsp;\"build\": \"encore production\",<br>&nbsp;&nbsp;&nbsp;&nbsp;\"watch\": \"encore dev --watch\"<br>}<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Assets bauen mit:<code><br>npm run dev <em># f\u00fcr Entwicklung<\/em><br>npm run build <em># f\u00fcr Produktion<\/em><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nach \u00c4nderungen an der CSS oder JS dran denken, die Assets neu zu bauen!!!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Webpack Encore einbinden: composer require symfony\/webpack-encore-bundle. Bootstrap und Fontawesome installieren: npm install bootstrap @fortawesome\/fontawesome-free &#8211;save. Im Root des Projekts die Datei assets\/app.js erstellen mit folgendem Inhalt: import &#8218;bootstrap\/dist\/css\/bootstrap.min.css&#8216;;import &#8218;@fortawesome\/fontawesome-free\/css\/all.min.css&#8216;;import &#8218;bootstrap&#8216;; \/\/ JS f\u00fcr Bootstrap-Komponentenimport _.\/styles\/app.css&#8216;; \/\/ f\u00fcr die eigene CSS Dann m\u00fcssen im Twig-Template JS und CSS eingebunden werden: {{ encore_entry_link_tags(&#8218;app&#8216;) }}{{ encore_entry_script_tags(&#8218;app&#8216;) }} Wenn [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1776","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/wiki.ad-libitum.info\/index.php?rest_route=\/wp\/v2\/pages\/1776","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wiki.ad-libitum.info\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wiki.ad-libitum.info\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wiki.ad-libitum.info\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/wiki.ad-libitum.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1776"}],"version-history":[{"count":16,"href":"https:\/\/wiki.ad-libitum.info\/index.php?rest_route=\/wp\/v2\/pages\/1776\/revisions"}],"predecessor-version":[{"id":1795,"href":"https:\/\/wiki.ad-libitum.info\/index.php?rest_route=\/wp\/v2\/pages\/1776\/revisions\/1795"}],"wp:attachment":[{"href":"https:\/\/wiki.ad-libitum.info\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}