我使用Laravel 5.4和Node.js 6以及Vue.js 2.
在resources/assets/js/app.js
我有:
require('./bootstrap');
window.Vue = require('vue');
Vue.use(require('vue-resource'));
在webpack.mix.js
我有:
mix.combine([
'resources/assets/js/app.js',
'resources/assets/js/enhanced.js',
'resources/assets/js/search.js'
], 'public/js/app.js')
.sass('resources/assets/sass/app.scss', 'public/css');
在resources/assets/js/enhanced.js
我有:
require('./app')
var Search = require('./components/Enhanced.vue');
const app = new Vue({
el: '#app_page_enhanced',
render: app_page_enhanced => app_page_enhanced(Page_Enhanced)
});
在resources/assets/js/search.js
我有:
require('./app')
var Search = require('./components/Search.vue');
new Vue({
el: '#app_search',
render: app_search => app_search(Search)
})
我在终端窗口中运行npm run watch-poll
。
但是,我一直在app.js
的第8行收到错误:
需要('自举./&#39);
当我对该行进行评论时,该过程会在没有其他错误的情况下完成,但是当我查看:public/js/app.js
时,不会包含单独的.js
文件。
我尝试从两个require('./app')
文件中删除.js
,并且:
mix.combine([ ... ], 'public/js/')
......和:
mix.combine([ ... ], 'public/js/', 'public/js/app.js')
......但没有任何区别。
值得一提的是Vue的代码在app.js
文件中有效。
我根据我已经找到的位点拼凑了这些,因为我找不到官方指南。
更新
就核心问题而言,@ tompec帮助解决了这个问题。
但是,我认为这可以解决运行search page和featured results page时遇到的大量错误,其中每个页面都在执行两个页面的Vue代码,从而导致错误。
答案 0 :(得分:2)
尝试做类似的事情
mix.js([
'resources/assets/js/app.js',
'resources/assets/js/enhanced.js',
'resources/assets/js/search.js'
], 'public/js/app.js')
.sass('resources/assets/sass/app.scss', 'public/css');
并从require('./app')
和resources/assets/js/enhanced.js
移除resources/assets/js/search.js
。
以下是文档:https://github.com/JeffreyWay/laravel-mix/tree/master/docs