无法使用Laravel Mix复制文件夹

时间:2017-04-18 16:14:27

标签: webpack laravel-5.4 laravel-mix

我有一个项目使用 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();

这是我当前的混合配置文件,我需要更改的部分是那些复制命令

2 个答案:

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

相关问题