我有一个项目使用 Laravel 5.4 和 Laravel Mix ,我有一个图像文件夹,其中一些图像具有相同的名称,但是不同的类别,因此它们包含在不同的目录中。
所以
resources/
assets/
images/
globalimage.png
versiona/
image1.png
image2.png
versionb/
image1.png
image2.png
我需要的是Laravel Mix中的复制命令,以复制这些文件夹及其中的所有文件,以便我的公用文件夹具有相同的文件夹结构。
我该怎么做?
mix.js('resources/assets/backend/js/main.js', 'public/backend/js')
.js('resources/assets/frontend/js/main.js', 'public/frontend/js')
.sass('resources/assets/backend/sass/main.scss', 'public/backend/css')
.sass('resources/assets/frontend/sass/main.scss', 'public/frontend/css')
.sourceMaps()
.copy( 'resources/assets/backend/images/**/*', 'public/backend/images/' )
.copy( 'resources/assets/frontend/images/**/*', 'public/frontend/images/' )
.version()
.disableNotifications();
这是我当前的混合配置文件,我需要更改的部分是那些复制命令
答案 0 :(得分:3)
想出来,复制命令的第三个参数是一个布尔值,它指定是否展平文件夹结构,如果你将它设置为false它会用它复制所有内容文件夹结构完好无损。
所以我的Mix配置变为
.copy( 'resources/assets/backend/images/', 'public/backend/images/' )
.copy( 'resources/assets/frontend/images/', 'public/frontend/images/', false )
这很好用
答案 1 :(得分:0)
如果您要维护目录结构,也可以使用copyDirectory功能。
mix.copyDirectory('resources/assets/fonts', 'public/fonts');