30 lines
1.2 KiB
JavaScript
30 lines
1.2 KiB
JavaScript
import { defineConfig } from 'vite';
|
|
import laravel from 'laravel-vite-plugin';
|
|
import react from '@vitejs/plugin-react'; // Подключите плагин React
|
|
import { globbySync } from 'globby'; //Пакет для универсального указания файлов разлиных модулей
|
|
|
|
// Ищем все JS/CS точки входа во всех модулях
|
|
const moduleEntries = globbySync([
|
|
'Modules/*/resources/js/app.{jsx,tsx}', // Все app.jsx и app.tsx в подпапках Modules
|
|
'Modules/*/resources/css/app.css', // Все app.css
|
|
]);
|
|
|
|
export default defineConfig({
|
|
plugins: [
|
|
laravel({
|
|
// Укажите входные точки
|
|
input: [
|
|
'resources/css/app.css',
|
|
'resources/js/app.tsx',
|
|
//Благодаря переменной ниже, мы можем не указывать каждый входной jsx и css скрипты для каждого модуля
|
|
...moduleEntries,
|
|
],
|
|
refresh: true,
|
|
}),
|
|
react(), // Подключаем плагин React
|
|
],
|
|
esbuild: {
|
|
loader: 'tsx', // Важно для обработки TypeScript
|
|
},
|
|
});
|