Laravel Elixir Browserify Failed !: Unexpected Token - Using VueJs

can someone help me solve this problem? I am trying to learn how to use Laravel elixir.browserify + vue.js, but I can not do this work! I get this error:

gulp-notify: [Laravel Elixir] Browserify Failed!: Unexpected token

D:\xampp\htdocs\pwebdev-project\resources\assets\js\components\skills.vue:1
<template>
^
ParseError: Unexpected token

Any idea what could be the problem? Do I need to specify somewhere that I want to use vueify, or do I just need npm to install it as I do?

package.json

{
  "private": true,
  "devDependencies": {
    "babel-runtime": "^6.3.13",
    "gulp": "^3.8.8",
    "vue-hot-reload-api": "^1.2.2",
    "vueify": "^7.0.2"
  },
  "dependencies": {
    "bootstrap": "^3.3.6",
    "font-awesome": "^4.5.0",
    "jquery": "^2.1.4",
    "laravel-elixir": "^4.0.0",
    "vue": "^1.0.11",
    "vue-resource": "^0.1.17"
  }
 }

gulpfile.js

var elixir = require('laravel-elixir');

elixir(function(mix) {
    mix.browserify('main.js');
});

main.js

var Vue = require('vue')
var Skills = require('./components/skills.vue')

new Vue({
    el: '#app',
    components: {
        'skills' : Skills
    }
})

and / components / skills.vue

<template>
    <div>
        <select v-model="skills_array" class="form-control" multiple>
            <option v-for="skill in list" value="@{{skill.id }}" >
                @{{ skill.name }}
            </option>
        </select>
        <input type="text" name="skills" hidden v-model="skills_array">
    </div>
</template>

<script>
    export default {
        created: function () {
            var data = [];
            for (var i = 0; i < this.list.length; i++) {
                data.push({
                    'id': this.list[i].id,
                    'name': this.list[i].name,
                    'selected': false
                });
            }

            this.list = data;
            this.skills_array = [];
        },
        props: ['list', 'skills_array']
    }
</script>
+4
source share
3 answers

, (JeffreyWay), , , gulp

:

npm install laravel-elixir-vueify

gulpfile:

var elixir = require('laravel-elixir');

require('laravel-elixir-vueify');  ---> this line was missing

elixir(function(mix) {
    mix.browserify('main.js');
});

I hardt elixir vueify:/ , . , - .

+8

, Javascript-.

main.js :

var Skills = require('./components/skills.vue')

require Javascript, . components/skills.vue Javascript, HTML. , Javascript .

skills.vue, Javascript. HTML () - , , , , Javascript Vue, ( , ).

vueify, , gulpfile.js - , vueify.

, Coffeescript Javascript elixir Coffeescript. , gulpfile:

// add the coffeeify transform to the browserify stack
//
elixir.config.js.browserify.transformers.push({
    name: 'coffeeify',
    options: {}
});

// configure browserify to recognize the .coffee extension
//
elixir.config.js.browserify.options.extensions = ['.coffee'];

elixir(function(mix) { ... });

, - :

elixir.config.js.browserify.transformers.push({
    name: 'vueify',
    options: {}
});

vueify .

:

elixir.config.js.browserify.options.extensions = ['.vue'];

. .coffee .coffee . , .

, !

+2

I know it's been so long, but this block of code in your file package.jsonwill compile it correctly.

  "browserify": {
    "transform": [
      "vueify",
      "babelify"
    ]
  },

Now you can run again gulp

+2
source

Source: https://habr.com/ru/post/1619504/


All Articles