在使用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