3

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

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

4

2 回答 2

9

Figured it out, there's a third parameter to the copy command which is a boolean which specifies whether or not to flatten the folder structure, if you set it to false it'll copy everything with it's folder structure intact.

So my Mix config became

   .copy( 'resources/assets/backend/images/', 'public/backend/images/' )
   .copy( 'resources/assets/frontend/images/', 'public/frontend/images/', false )

And that worked just fine

于 2017-04-18T16:19:42.327 回答
5

如果要维护目录结构,还可以使用copyDirectory 功能。

mix.copyDirectory('resources/assets/fonts', 'public/fonts');

于 2019-10-16T02:10:34.493 回答