CSS и Javascript
Содержание:
Введение
В то время как Laravel не говорит какие препроцессоры JavaScript или CSS вам использовать,
фреймворк обеспечивает стартовую точку для Bootstrap и
Vue, что может быть полезно для многих ваших приложений.
По умолчанию, Ларавел использует NPM, чтобы установить
оба компонента.
Заготовки Bootstrap и Vue предоставляемые Laravel расположены в laravel/ui
компоненте Composer, который можно установить используя Composer:
composer require laravel/ui
После установки пакета laravel/ui
, можно провести и установки
компонентов внешнего интерфейса с использованием команды Artisan ui
:
// Generate basic scaffolding...
php artisan ui vue
php artisan ui react
// Generate login / registration scaffolding...
php artisan ui vue --auth
php artisan ui react --auth
CSS
Ларавел микс предоставляет понятное,
выразительное API для компиляции Sass или less, которые являются расширениями CSS,
добавляют переменные, миксы и другие преимущества, что делает работы с CSS более
приятной. В этом документе, мы быстро обсудим CSS компиляцию в общем. Конечно, лучше
всего прочитать страницу документации Laravel Mix,
в котором представлена полная информация о компиляции SASS или Less.
JavaScript
Ларавел не требует использования каких-то конкретных фреймворков JavaScript или библиотек
для проектирования приложения. Фактически, вы можете не использовать JavaScript вообще.
Тем не менее Laravel предоставляет заготовки для базовых вещей для быстрого старта с
использованием библиотеки Vue. Vue предоставляет выразительное
API для построения JavaScript приложений. Как и в случае с CSS, вы можете использовать Ларавел
Микс для простой компиляции компонентов JavaScript в один готовый файл.
Написание CSS
После установки компонента Composer laravel/ui
и компонентов внешнего
интерфейса, файл Laravel package.json
автоматически включит компонент
bootstrap
, чтобы помочь вам в построении приложения используя Bootstrap.
Однако, вы можете легко добавлять и убирать компоненты из package.json
в соответсвии с требованиями вашего приложения. Фреймворк Bootstrap не обязателен для
построения вашего приложения — это просто хорошая отправная точка, для тех,
кто использует его.
Перед компиляцией CSS, установите менеджер зависимостей для внешнего интерфейса
Node package manager (NPM):
npm install
После установки зависимостей используя npm install
, вы можете
скомпилировать ваши файлы SASS используя
Laravel Mix.
Команда npm run dev
выполнит инструкции из файла webpack.mix.js
.
Обычно это скомпилоированный CSS файл, который мы разместим в папке public/css
:
npm run dev
Файл webpack.mix.js
будет компилировать SASS файл
resources/sass/app.scss
. Этот файл импортирует
переменные SASS и загружает Bootstrap, как отличную отправную точку.
Вы можете свободно настраивать файл app.scss
как желаете,
или можете использовать другую технологию отличную от Ларавел Микс.
Написание JavaScript
Все зависимости JavaScript, которые нужны вашему приложению, можно найти
в файле package.json
в корне проекта. Этот файл похож на
composer.json
, но вместо зависимостей PHP, там указаны
зависимости JavaScript. Вы можете установить эти зависимости используя
Node package manager (NPM):
npm install
По умолчанию, файл package.json
включает некоторые компоненты,
такие как lodash
и axios
. Вы можете оставить или
удалить их по желанию.
После установки компонентов, вы можете использовать команду npm run dev
,
чтобы скомпилировать файл. Модуль для современных JavaScript приложений Webpack
начнёт выполнять инструкции в вашем webpack.mix.js
файле:
npm run dev
По умолчанию, файл Laravel webpack.mix.js
компилирует ваш
SASS и resources/js/app.js
файл. Внутри файла app.js
вы можете зарегистрировать компоненты Vue или, если вы предпочитаете другие
фреймворки, настроить их для приложения. Скомпилированный код будет находиться
в директории public/js
.
Файл app.js
загрузит файл resources/js/bootstrap.js
,
который загрузит и настроит Vue, Axios, jQuery и другие зависимости JavaScript.
Если вам нужны дополнительные зависимости, вы можете указать их в этом файле.
Написаине компонентов Vue
При использовании компонента laravel/ui
,
компонент ExampleComponent.vue
будет помещён в папку
resources/js/components
. Файл ExampleComponent.vue
— это
пример одиночного компонента Vue,
который определяет JavaScript и HTML шаблон в одном и том же файле. Компоненты одного файла
обеспечивают удобный подход для построения JavaScript приложений. Пример компонента
зарегистрированного в вашем файле app.js
:
Vue.component(
'example-component',
require('./components/ExampleComponent.vue').default
);
Чтобы использовать компонент в вашем приложении, вы можете представить его в
качестве одного из HTML шаблонов. Например, после выполнения команды Artisan
php artisan ui vue --auth
, вы можете поместить компонент в
шаблон Blade home.blade.php
:
@extends('layouts.app')
@section('content')
<example-component></example-component>
@endsection
Вам необходимо выполнять команду npm run dev
после каждого изменения компонента Vue. Или вы можете выполнить
команду npm run watch
, чтобы отслеживать и автоматически
вносить изменения в ваш компонент каждый при любом изменении.
Если есть интерес узнать больше о написании компонентов Vue,
вам необходимо прочитать документацию Vue,
Там находится легкая для восприятия информация о фреймворке Vue.
Использование React
Если вы предпочитаете использовать React для построения JavaScript приложений,
Laravel даёт возможность для лёгкой смены Vue на React:
composer require laravel/ui
php artisan ui react
// Generate login / registration scaffolding...
php artisan ui react --auth
Добавление пресетов
Пресеты являются "макро-управляемыми", что позволяет вам добавлять дополнительные
методы в класс UiCommand
в режиме реального времени. Например, следующий
код добавляет метод nextjs
в класс UiCommand
. Обычно, вам
необходимо задекларировать пресет в сервис провайдере:
use Laravel\Ui\UiCommand;
UiCommand::macro('nextjs', function (UiCommand $command) {
// Scaffold your frontend...
});
После чего, вы можете вызвать новый пресет через команду ui
:
php artisan ui nextjs