اذهب إلى المحتوى

السؤال

نشر

لدي مجلدين في الواجهة الامامية للتطبيق , app و admin واريد استخدام vite. استعنت ب ChatGPT ، وقال إنه يجب علي فعل التكوين التالي

import { defineConfig } from "vite";
import laravel from "laravel-vite-plugin";
import react from "@vitejs/plugin-react";

export default defineConfig({
    plugins: [laravel(["resources/js/app/main.jsx"]), react()],
    build: {
        outDir: "public/js/app",
        rollupOptions: {
            input: "resources/js/app/main.jsx",
        },
    },
});

لكن عندما أقوم ببناء المشروع ، يعطيني Laravel خطأ: 

Vite manifest not found.

هذا لأنه يبحث عن ملف manifest في public / build ، لكن لدي public/js/app

أريد استخدام public/js/app  و public/js/admin كتكويناتي.
هل يمكنكم مساعدتي؟

Recommended Posts

  • 0
نشر

لحل مشكلتك ، يمكنك تعديل ملف vite.config.js لكي يتضمن مسارين منفصلين للبناء (build)، واحد لـل app والآخر لـ admin
يمكنك أيضا تحديث الملف blade الخاص ب Laravel ليشير إلى المسار الصحيح لملفات الـ JavaScript المبنية يجب القيام بالتلي :

تعديل ملف vite.config.js يمكنك إعداد تكوينين منفصلين داخل vite.config.js، واحد لـ app والآخر لـ admin. يجب أن يشير كل تكوين إلى نقطة الدخول (entry point) الخاصة به ودليل الإخراج (outDir).

تحديث ملفات blade في Laravel بعد إعداد ملف vite.config.js، يجب عليك تحديث ملفات blade الخاصة بك لتشير إلى المسار الصحيح لملفات JavaScript 

تشغيل عملية البناء (build)  يجب تشغيل عملية البناء لكل من app و admin لضمان إنشاء الملفات المبنية في المسارات الصحيحة.

import { defineConfig } from "vite";
import laravel from "laravel-vite-plugin";
import react from "@vitejs/plugin-react";


const appConfig = defineConfig({
    plugins: [laravel(["resources/js/app/main.jsx"]), react()],
    build: {
        outDir: "public/js/app",
        rollupOptions: {
            input: "resources/js/app/main.jsx",
        },
    },
});


const adminConfig = defineConfig({
    plugins: [laravel(["resources/js/admin/main.jsx"]), react()],
    build: {
        outDir: "public/js/admin",
        rollupOptions: {
            input: "resources/js/admin/main.jsx",
        },
    },
});


export default [appConfig, adminConfig];
//app blade
<script type="module" src="{{ asset('js/app/main.js') }}"></script>

//admin blde
<script type="module" src="{{ asset('js/admin/main.js') }}"></script>

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...