Javascript
Na novějších webech používáme pouze čistý Javascript bez JQUERY a Boostrapu !
Globální javascript potřebný na většině stránkách nalezneme v resources/js/app.js - inicializace funkcní apod., pokud chceme použít jen v konkrétní šabloně, můžeme využít {block scripts} tímto způsobem (pozor, jde použít pouze v případě že to není partial šablona - partial šablona už sama o sobě je v block content dané stránky ! Proto můžeme dát do parent šablony nebo do app.js - pro globální javascript)
{block content}
Obsah stránky
{/block}
{block scripts}
<script>
Javascript stránky
</script>
{/block}
Pokud je potřeba dodat nějaký plugin, většina z nich je už právě ve stejné složce jako app.js a je jen potřeba přidat do webpack.mix.js souboru, aby se poskládal javascript bundle - vendor.js, který je automaticky načítán do šablon.
let mix = require('laravel-mix');
mix.options({
processCssUrls: false,
});
// front
mix.sass('resources/sass/front/app.scss', 'assets/front/app.css')
.combine([
'resources/js/jquery.js',
'resources/js/custom.js',
'resources/js/bootstrap.js',
'resources/js/incredible_select.js',
'resources/js/netteForms.js',
'resources/js/nette.ajax.js',
'resources/js/fancybox.js'
], 'www/assets/front/vendor.js')
.js('resources/js/app.js', 'assets/front/app.js')
.js('resources/js/Vue/main.js', 'assets/front/eshop.js').vue();
// admin
mix.sass('resources/sass/admin/app.scss', 'assets/admin/app.css')
.sass('resources/sass/front/mceeditor.scss', 'assets/admin/editor.css')
.combine([
'resources/js/jquery.js',
'resources/js/popper.min.js',
'resources/js/bootstrap.js',
'resources/js/netteForms.js',
'resources/js/nette.ajax.js',
'resources/js/select2.js',
'resources/js/incredible_select.js',
'resources/js/selectize.js',
'resources/js/jstree.js',
'resources/js/moment.js',
'resources/js/datetimepicker.js',
'resources/js/jquery.tablesort.js',
'resources/js/stickybits.js',
'resources/js/Chart.js',
'resources/js/datatables.js',
], 'www/assets/admin/vendor.js')
.js('resources/js/admin_app.js', 'assets/admin/app.js')
.js('resources/js/statistic_app.js', 'assets/admin/statistic.js');
// login
mix.sass('resources/sass/login/app.scss', 'assets/admin/login.css')
// basis setting
mix.setPublicPath('www')
.version()
.disableNotifications();