2017-06-16 107 views
1

因此,我使用Laravel 5.4,並使用webpack在1個大js文件中編譯多個.js文件。Webpack編譯文件夾中的所有文件

const { mix } = require('laravel-mix'); 

// Compile all CSS file from the theme 
mix.styles([ 
    'resources/assets/theme/css/bootstrap.min.css', 
    'resources/assets/theme/css/main.css', 
    'resources/assets/theme/css/plugins.css', 
    'resources/assets/theme/css/themes.css', 
    'resources/assets/theme/css/themes/emerald.css', 
    'resources/assets/theme/css/font-awesome.min.css', 
], 'public/css/theme.css'); 



// Compile all JS file from the theme 
mix.scripts([ 
    'resources/assets/theme/js/bootstrap.min.js', 
    'resources/assets/theme/js/app.js', 
    'resources/assets/theme/js/modernizr.js', 
    'resources/assets/theme/js/plugins.js', 
], 'public/js/theme.js'); 

這是我webpack.mix.js做(同爲CSS)。但我想得到如下所示:resources/assets/theme/js/*從文件夾中獲取所有文件。所以,當我在webpack自動發現它的文件夾中創建一個新的js文件並在運行命令時編譯它。

有人知道如何做到這一點嗎?

感謝您的幫助。

+0

你可以分享你的整個'webpack.config.js'嗎? –

+0

@m_callens我改變了! – Nieck

回答

1

通配符實際上允許使用mix.scripts()方法,正如創建者在this issue中所確認的。所以,你的電話應該是這樣的:

mix.scripts(
    'resources/assets/theme/js/*.js', 
    'public/js/theme.js'); 

我相信它適用於款式相同,因爲它們使用the same method要合併文件。

希望這可以幫助你。

+0

我不知道,謝謝!它也適用於樣式。 – Nieck

相關問題