【问题标题】:Can't copy folders with Laravel Mix无法使用 Laravel Mix 复制文件夹
【发布时间】:2017-09-14 14:14:50
【问题描述】:

我有一个使用 Laravel 5.4Laravel Mix 的项目,并且我有一个图像文件夹,其中一些图像名称相同但类别不同,因此它们包含在不同的目录中。

所以

resources/
  assets/
    images/
      globalimage.png
      versiona/
        image1.png
        image2.png
      versionb/
        image1.png
        image2.png

我需要的是 Laravel Mix 中的 copy 命令来复制这些文件夹以及其中的任何文件,以便我的公共文件夹具有相同的文件夹结构。

我该怎么做?

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 配置文件,我需要更改的部分是那些 复制命令

【问题讨论】:

    标签: webpack laravel-5.4 laravel-mix


    【解决方案1】:

    想通了,copy 命令还有第三个参数,它是一个布尔值,指定是否展平文件夹结构,如果将其设置为 false,它将复制所有内容文件夹结构完好。

    所以我的 Mix 配置变成了

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

    效果很好

    【讨论】:

      【解决方案2】:

      如果你想维护目录结构,你也可以使用copyDirectory function

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

      【讨论】:

        猜你喜欢
        • 2018-05-08
        • 2021-08-06
        • 2023-03-28
        • 1970-01-01
        • 2020-08-26
        • 2021-10-08
        • 2016-11-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多