2017-06-16 44 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

相关问题