我想让“main.css”文件直接在css文件夹中。但是,我得到这条路径“/css/Content/scss/main.css”,我想要“/css/main.css”
gulp.task('sass', () => {
const sourceFolder = path.join('.', 'Content', 'scss', 'main.scss');
const distFolder = path.join('.', 'wwwroot', 'css');
return gulp.src(sourceFolder)
.pipe(sass({
sourceMap: true,
style: 'compressed'
}))
.pipe(cleanCSS({
compatibility: 'ie8'
}))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest(distFolder))
.on('end', () => console.log(`[${new Date().toLocaleTimeString()}] -> sass compilation complete...`));
});
假设您希望main.css
最终在wwwroot/css
尝试更改为此行:
return gulp.src(sourceFolder, { base: path.join('Content', 'scss') })
抱歉,但我无法解释为什么您的原始代码适用于Linux。
由src()生成的Vinyl实例是以glob base set为基本属性构造的。使用dest()写入文件系统时,将从输出路径中删除基数以保留目录结构。
因此,将base
设置为path.join('Content', 'scss')
将删除文件路径的一部分,因此main.css将直接进入您的distFolder并删除父文件夹。