我正在尝试使“ 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...`));
});
答案 0 :(得分:1)
假设您希望main.css
以wwwroot/css
结尾,请尝试更改为以下行:
return gulp.src(sourceFolder, { base: path.join('Content', 'scss') })
对不起,但是我无法解释为什么原始代码可以在Linux上运行。
由src()生成的Vinyl实例是使用glob base构建的 设置为其基本属性。当用 dest(),将从输出路径中删除基数以保留 目录结构。
因此,将base
设置为path.join('Content', 'scss')
时,该文件路径的一部分将被删除,因此main.css将直接进入distFolder,而父文件夹也将被删除。