Расширенная настройка Ларавел Vite.
4 месяца назад
Ларавел из коробки включает базовую настройку Vite, у которого есть много дополнительных плагинов настроек. Но некоторые из не входят в стандартный набор Laravel.
В этой статье мы попробуем собрать файлы css и js файлы в отдельную директорию.
Например, это может быть нужно для того, чтобы положить файлы не в папку public
, а в папкуpublic_html
по требованию конфигурации сервера или хостинга.
Мы же просто сложим готовые файлы в папку public_html/vite
Меняем директорию по умолчанию для Laravel 11
Собираем базовый проект Ларавел.
Меняем директорию по умолчанию с public
на public_html
.
Для этого открываем файл app/Providers/AppServiceProvider.php
и добавляем:
public function boot(): void
{
// Добавляем
app()->usePublicPath(dirname(__DIR__, 2).'/public_html');
}
Конфигурацию Vite.
Находим файл настроек vite.config.js.
Подключаем path:
import path from 'path';
Указываем папку, в которую будем собирать файлы:
build: {
outDir: path.resolve(__dirname, 'public_html/vite'),
},
Теперь файл настроек vite.config.js
выглядит таким образом:
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import path from 'path';
export default defineConfig({
build: {
outDir: path.resolve(__dirname, 'public_html/vite'),
},
plugins: [
laravel({
input: ['resources/css/app.css', 'resources/js/app.js'],
refresh: true,
}),
],
});
Подключаем директиву
Подключаем файлы через директиву Laravel @vite
Открываем файл \resources\views\welcome.blade.php
Находим:
@if (file_exists(public_path('build/manifest.json')) || file_exists(public_path('hot')))
@vite(['resources/css/app.css', 'resources/js/app.js'])
@else
Нам в примере особо не нужно условие, поэтому его можно спокойно убрать или изменить.
Настройка самой директивы @vite
:
@if ( true )
{{
Vite::useBuildDirectory('vite')
->useManifestFilename('manifest.json')
->withEntryPoints(['resources/css/app.css', 'resources/js/app.js']);
}}
@else
Всё, такая настройка директивы подхватывает новые пути.
Теперь мы можем менять папку вывода и подхватывать вывод директивой vite.
К списку статей