大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

Laravel5.4 Vuejs编译失败的问题处理

在使用Laravel5.4 进行vuejs组件化测试时,出现了这样的错误:

vagrant@homestead:~/Code/zhihu-app$ gulp
[00:35:03] Using gulpfile ~/Code/zhihu-app/gulpfile.js
[00:35:03] Starting 'all'...
[00:35:03] Starting 'sass'...
[00:35:09] Finished 'sass' after 5.74 s
[00:35:09] Starting 'webpack'...
{ [Error: ./resources/assets/js/components/Example.vue
Module parse failed: /home/vagrant/Code/zhihu-app/resources/assets/js/components/Example.vue Unexpected token (1:0)
You may need an appropriate loader to handle this file type.
| <template>
|     <div class="container">
|         <div class="row">
 @ ./resources/assets/js/app.js 17:26-61]
  message: './resources/assets/js/components/Example.vue\nModule parse failed: /home/vagrant/Code/zhihu-app/resources/assets/js/components/Example.vue Unexpected token (1:0)\nYou may need an appropriate loader to handle this file type.\n| <template>\n|     <div class="container">\n|         <div class="row">\n @ ./resources/assets/js/app.js 17:26-61',
  showStack: false,
  showProperties: true,
  plugin: 'webpack-stream',
  __safety: { toString: [Function: bound ] } }

从抛出的错误我们可以看到,是未引入 'laravel-elixir-vue-2',
所以,我们需要下载相应的包,然后引入到gulpfile.js文件中。


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

require('laravel-elixir-vue-2');// recommended for vue 2


elixir(function(mix) {
    mix.sass('app.scss')
        .webpack('app.js');

    mix.version(['js/app.js', 'css/app.css'])
});

如果出现Error: Cannot find module 'laravel-elixir-vue-2'错误,则需要下载laravel-elixir-vue-2

npm install laravel-elixir-vue-2 --save-dev

有关详情,请看GitHub laravel-elixir-vue-2包用法

参考文章:
Stackoverflow: Elixir is not defined error