我目前有这样的文件结构:
我已经在主SASS文件夹中安装了gulp,并创建了一个名为“sass-all”的任务,可以遍历每个站点的scss文件夹并将其编译成css。
我正在尝试编写一个名为“sass-single”的新任务,该任务可以从任何示例站点文件夹中运行。例如,假设我在“example-site-two”文件夹中,我希望能够使用命令“gulp sass-single”,并且只编译此站点的SASS。同样,我还想设置一个名为“watch-single”的任务。
问题是,无论我从哪个站点文件夹运行此任务,它都会更改我的工作目录到父SASS文件夹。我不想为每个不同的站点创建100个不同的任务,我宁愿只有一个“sass-single”任务,它足够智能,可以仅编译我运行脚本时所在文件夹中的文件。
当前的Gulp任务尝试如下:
然而,这会回到主SASS文件夹,然后什么也不做。我该如何修改它,使其能够在任何站点文件夹中运行,并且只对该站点进行操作?
SASS
gulpfile.js
node_modules
sites
example-site
scss
css
example-site-two
scss
css
example-site-three
scss
css
我已经在主SASS文件夹中安装了gulp,并创建了一个名为“sass-all”的任务,可以遍历每个站点的scss文件夹并将其编译成css。
我正在尝试编写一个名为“sass-single”的新任务,该任务可以从任何示例站点文件夹中运行。例如,假设我在“example-site-two”文件夹中,我希望能够使用命令“gulp sass-single”,并且只编译此站点的SASS。同样,我还想设置一个名为“watch-single”的任务。
问题是,无论我从哪个站点文件夹运行此任务,它都会更改我的工作目录到父SASS文件夹。我不想为每个不同的站点创建100个不同的任务,我宁愿只有一个“sass-single”任务,它足够智能,可以仅编译我运行脚本时所在文件夹中的文件。
当前的Gulp任务尝试如下:
gulp.task('sass-single', function () {
process.chdir('./');
// Where are the SCSS files?
var input = './scss/*.scss';
// Where do you want to save the compiles CSS file?
var output = './css';
return gulp
.src(input)
.pipe(sourcemaps.init())
.pipe(sass(sassOptions).on('error', sass.logError))
.pipe(postcss(processors))
.pipe(sourcemaps.write('./maps'))
.pipe(gulp.dest(output));
});
然而,这会回到主SASS文件夹,然后什么也不做。我该如何修改它,使其能够在任何站点文件夹中运行,并且只对该站点进行操作?
process.env.INIT_CWD
,字体大小为100px。谢谢! - Dogoku