我需要把我的所有样式(css,scss,less)都放到css中然后缩小成一个文件,在dist / test /中的index.min.css。但是,我不想硬编码dist / test - 我希望文件名是动态的(并不总是测试),这样人们就可以根据需要命名他们的项目文件。
我的文件结构如下:
dev /
测试/
的index.html
index.js
index.css
index.scss
index.lessDIST /
测试/
的index.html
index.min.js
以下是我的代码的相关摘要:
var config = {
src: "./dev/**/", //src location
build: "./dist/" //dist location
};
gulp.task('styles', function() {
var lessStream = gulp.src(config.src + "*.less")
.pipe(less())
.pipe(concat('less-files.less'));
var scssStream = gulp.src(config.src + "*.{sass,scss}")
.pipe(sass())
.pipe(concat('scss-files.scss'));
var cssStream = gulp.src(config.src + "*.css")
.pipe(concat('css-files.css'));
var mergedStream = merge(lessStream, scssStream, cssStream)
.pipe(concat('index.css'))
.pipe(minify())
.pipe(gulp.dest(config.build))
.pipe(browsersync.reload({
stream: true
}));
return mergedStream
});
此代码正确组合并缩小,但位置不正确 - 它最终以dist /而不是dist / test结束,我希望它最终结束。
答案 0 :(得分:0)
...
var minimist = require('minimist');
var knownOptions = {
string: 'folder',
default: { folder: 'test' }
};
var options = minimist(process.argv.slice(2), knownOptions);
var config = {
src: "./dev/**/", // src location
build: "./dist/" + options.folder // dist location
};
...
然后你可以打电话给你的任务
gulp styles --folder courtney
基于官方文档中pass arguments from the command line的示例