Laravel elixir编译多个文件

Moh*_*agy 7 laravel laravel-elixir

我在这两个文件resources/assets/lessstyle.lessadmin/style.less.我想将这些文件编译为不同的路径,如下所示:

style.less 编译成 public/css/

而另一个编译为 public/admin/styles/

这就是我在gulpfile.js中所做的

elixir(function(mix) {
    mix.less('style.less', 'public/css/');
    mix.less('admin/style.less', 'public/admin/styles/');
});
Run Code Online (Sandbox Code Playgroud)

但这只编译一个文件.有什么问题,我该如何解决这个问题?

Sam*_*eer 0

我还没有得到这个问题的答案。但尝试了一些替代方案,想法会分享。

我想我们可以像下面这样做

elixir(function(mix) {
    mix.less('style.less', 'public/css/')
       .less('admin/style.less', 'public/admin/styles/');
});
Run Code Online (Sandbox Code Playgroud)

但根据文档,我们不能多次调用 sass 或 less 方法。所以它只编译最新的 less 文件(在本例中为 admin/style.css)。

我们可以这样做

elixir(function(mix) {
    mix.less(['style.less', 'admin/style2.less'], 'public/css/');
});
Run Code Online (Sandbox Code Playgroud)

但这会将两者编译到同一个文件夹中。

希望知道,我们如何对不同的文件夹执行此操作。

我尝试将第二个文件复制到单独的文件夹中,但这也不起作用

elixir(function(mix) {
    mix.less(['style.less', 'admin/style2.less'], 'public/css/')
       .copy('public/css/style2.css', 'public/admin/style.css');
});
Run Code Online (Sandbox Code Playgroud)

可能这是因为每个请求都是异步的,并且当调用副本时,style2.css 尚未准备好。