devhoussam123's avatar

Laravel Mix & Vue : Module parse failed: Unexpected token

Hi I want to use Vue 2 with laravel mix 6 but it didn't work it display this error message :

Module parse failed: Unexpected token

webpack.mix.js

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

mix.js('resources/js/app.js', 'js')
   .vue({ version: 2 })
   .setPublicPath('public');
   
if (mix.inProduction()) {
    mix.version();
} 

package.json

"devDependencies": {
 ......
"laravel-mix": "^6.0.6",
"vue": "^2.6.12",
"vue-loader": "^15.9.6",
"vue-template-compiler": "^2.6.12"
 }

resources/js/app.js

require('./bootstrap');

import Vue from 'vue';
import App from './components/App.vue';

new Vue({
    el: '#app',
    components: { App }
});

resources/js/components/App.vue

<template>
    <div class="alert" v-text="message"></div>
</template>

<script>
export default {
    data() {
        return {
            message: 'I am an alert.'
        };
    }
};
</script>

<style>

</style>
0 likes
3 replies
Halim's avatar

in your webpack.mix.js, try .vue() instead of: .vue({ version: 2 })

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

Please or to participate in this conversation.