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

السؤال

نشر

لقد قمت بإنشاء مشروع لارافل بالنسخة الجديدة 8، وأود استخدام Vue JS فيه. ولكن عندما أقوم بتنفيذ الأمر التالي:

npm run dev

يظهر هذا الخطأ:

Module parse failed: Unexpected token (1:0)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
> <template>
|     <div>
|         The New Project

وهذا هو الملف package.json:

"devDependencies": {
        "axios": "^0.21",
        "laravel-mix": "^6.0.6",
        "lodash": "^4.17.19",
        "vue": "^2.5.17",
        "vue-loader": "^15.9.6",
        "vue-template-compiler": "^2.6.10"
    }

كيف يمكنني معالجة هذا الخطأ؟

Recommended Posts

  • 0
نشر

في نسخة لارافل 8 في حال كنت تستخدم النسخة laravel-mix 6 فيوجد فيها إعدادات مختلفة ضمن webpack.mix.js

فيجب إضافة .vue() على الملفات التي يتم الإشارة إليها كالتالي:

const mix = require('laravel-mix');

/*
 |--------------------------------------------------------------------------
 | Mix Asset Management
 |--------------------------------------------------------------------------
 |
 | Mix provides a clean, fluent API for defining some Webpack build steps
 | for your Laravel applications. By default, we are compiling the CSS
 | file for the application as well as bundling up all the JS files.
 |
 */

mix.js('resources/js/app.js', 'public/js').vue()
    .postCss('resources/css/app.css', 'public/css', [
        //
    ]);

ويوجد حل آخر لاستخراج التنسيقات أيضاً بحيث تصبح بهذا الشكل:

mix.js('resources/js/app.js', 'public/js')
.vue({
    extractStyles: true,
    globalStyles: false
})
.postCss('resources/css/app.css', 'public/css', [
        //
]);

 

  • 0
نشر

بما أنك تستخدم النسخة 6 من Laravel mix فهناك بعض الإختلافات في ملف الإعدادت و لمعرفة كيفية الترقية لهذا الإصدار تستطيع ذلك من هنا

لا داعي لتثبيت مُحمل vue بالرغم من أن الخطأ ينص على ذلك، بدلاً من ذلك تحتاج إلى إخبار mix أن تدعم vue بشكل صريح و يُمكنك ذلك من خلال:

mix.js('resources/js/app.js', 'public/js')
.vue()
.postCss('resources/css/app.css', 'public/css', [
        //
]);

او الخيار الثاني إذا كنت تريد استخراج التنسيقات أيضًا

mix.js('resources/js/app.js', 'public/js')
.vue({
    extractStyles: true,
    globalStyles: false
})
.postCss('resources/css/app.css', 'public/css', [
        //
]);

 

  • 0
نشر

لأنك تستخدم  laravel-mix 6 يكون له تكوين مختلف لـ webpack.mix.js ففي ملف 

webpack.mix.js

يمكنك استخدام .vue() 

const mix = require('laravel-mix');

mix.js('resources/js/app.js', 'public/js').vue()
    .postCss('resources/css/app.css', 'public/css', [
        //
    ]);

يمكنك متابعة Laravel Mix 6 من هنا

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...