Css 拉维长生不老药:使用通配符而不合并
我在Css 拉维长生不老药:使用通配符而不合并,css,sass,gulp,laravel-elixir,Css,Sass,Gulp,Laravel Elixir,我在resources/assets/sass中有一个文件夹,其中有两个文件1.scss和2.scss 我想做: elixir(function (mix) { .sass('*.scss', './public/css/'); }); 然后生成1.css和2.css 我实际上有两个以上的文件,这就是为什么我不想一个接一个地写它们。有没有办法做到这一点?谢谢因为您可以在Gulpfile中编写任何JavaScript,所以您可以使用“glob”模块获取文件名,如下所示: var elixir
resources/assets/sass
中有一个文件夹,其中有两个文件1.scss
和2.scss
我想做:
elixir(function (mix) {
.sass('*.scss', './public/css/');
});
然后生成1.css
和2.css
我实际上有两个以上的文件,这就是为什么我不想一个接一个地写它们。有没有办法做到这一点?谢谢因为您可以在Gulpfile中编写任何JavaScript,所以您可以使用“glob”模块获取文件名,如下所示:
var elixir = require('laravel-elixir');
var glob = require('glob');
var path = require('path');
elixir(function (mix) {
for (let file of glob.sync('resources/assets/sass/*.scss')) {
mix.sass(path.basename(file), './public/css/');
}
});
如果需要,它可以更高级—例如,我将它与版本控制和自定义路径(以及ES2015语法)一起使用:
我也在寻找答案。你有没有想出一个解决办法?
const elixir = require('laravel-elixir');
const glob = require('glob');
const path = require('path');
elixir(mix =>
{
let build_files = [];
for (let theme of glob.sync('resources/assets/sass/themes/*/')) {
theme = path.basename(theme);
mix.sass(`themes/${theme}/app.scss`, `public/css/${theme}/app.css`);
build_files.push(`css/${theme}/app.css`);
}
mix.version(build_files);
});