Задать вопрос
@Tereverda

Laravel, Vite.js создание многостраничного приложения с отдельными js файлами?

Прошу помочь разобраться в связке Laravel и сборщика Vite.
Создаю сайт, где много калькуляторов на Vue.js каждая страница отдельный файл, компоненты могут повторятся.

1. app.js - использую, только для подключения общих библиотек, самого приложения в нем нет.
// Default Laravel bootstrapper, installs axios
import './bootstrap';

// Added: Actual Bootstrap JavaScript dependency
import 'bootstrap';

// Added: Popper.js dependency for popover support in Bootstrap
import '@popperjs/core';


2. Каждое Vue.js приложение создаю в отдельном js файле и в него импортирую Vue и компоненты

3. В Blade подключаю так
@vite('resources/js/app.js') // общий загрузчик, содержание выше
@vite('resources/js/box.js') // сама программа


4. чтобы отдельные js файлы добавились в манифест и собрались в продакшн добавлю каждый файл отдельно в секцию

vite.config.js
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue'
import laravel from 'laravel-vite-plugin';


export default defineConfig({
    plugins: [
        vue({
            template: {
                compilerOptions: {
                    // считать все теги с тире как пользовательские элементы
                    isCustomElement: (tag) => tag.includes('-')
                }
            }
        }),
        laravel({
            input: [
                'resources/sass/app.scss',
                'resources/js/app.js',
                'resources/js/box.js', // тут отдельной строкой каждый файл
            ],
            refresh: true,
        }),
    ],
    resolve: {
        alias: {
            'vue': 'vue/dist/vue.esm-bundler.js'
        }
    },
});


Я правильно делаю, или это какие-то костыли?
  • Вопрос задан
  • 221 просмотр
Подписаться 2 Простой 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы