2017-07-17 76 views
0

我使用Laravel 5.4 Node.js的6,和Vue.js 2.Vue.js:Laravel混合不合並文件

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在終端窗口中運行。

然而,一直收到第8行中的錯誤app.js

要求( './引導');

當我評論說,線路輸出,過程經過無需額外的錯誤,但是當我看到: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 pagefeatured results page時遇到的大量錯誤,其中每個頁面都在執行兩個頁面的Vue代碼,從而導致錯誤。

+0

通常'bootstrap.js'進口的jQuery,lodash和應用需要,一些其他的庫。你確定它可以在'app.js'的相同目錄下嗎? – Ikbel

+0

@KiraSan。是的,它在同一個地方。 –

回答

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'); 

resources/assets/js/enhanced.jsresources/assets/js/search.js刪除require('./app')

而這裏的DOC:https://github.com/JeffreyWay/laravel-mix/tree/master/docs

+0

你已經回答了問題(並且謝謝),所以我必須將其標記爲正確。但是,正如我在開場白中所說的那樣,還有其他問題,所以我不得不將其作爲一個新問題來解決。 –