【发布时间】:2017-04-28 04:18:51
【问题描述】:
我正在使用默认的 Laravel 5.3 设置 - 全新安装,带有 Vue.js 2.0 的默认配置。
使用 Laravel 5.1 和 Vue.js 1.x,我可以轻松定义组件,例如并使用 browserify 进行编译。
Vue.component('test-component', require('./test-component');
/* test-component.js */
export default{
template:require('./test-component.template.html')
}
/* test-component.template.html */
<div class="test-component">
<h1> Test Component <h1>
</div>
但是,对于 Vue 2,默认值为 webpack(虽然 browserify 也可用,但无法使其正常工作,webpack 似乎更好)。但是我无法使配置正常工作。
我尝试了各种配置,最后我的 gulp.js 文件中有这个
const elixir = require('laravel-elixir');
require('laravel-elixir-vue-2');
var config = {
module:{
loaders:[
{
test: /\.html$/,
loader: 'vue-loader'
}
]
}
};
elixir(mix => {
mix.sass('app.scss')
.webpack('app.js',null, null, config);
});
现在我在编译 gulp webpack 时没有收到任何错误,但是当我尝试在浏览器中查看页面时,它不显示组件并且在控制台中有错误/警告
vue.js?3de6:513[Vue warn]: invalid template option:[object Object]
(found in component <test>)
vue.js?3de6:4085Uncaught TypeError: Cannot read property 'child' of null(…)
我的app.js主入口文件(Laravel默认提供)
require('./bootstrap');
Vue.component('test-component', require('./components/test-component'));
const app = new Vue({
//el: '#app',
}).$mount('#app');
我错过了什么?任何指针将不胜感激。
【问题讨论】:
标签: javascript php laravel laravel-5.3 vuejs2