Javascript 使用Gulp在较少更改的基础上构建csproj
我目前正在尝试提出一个gulp任务,该任务将在.less文件发生更改时构建与特定.less文件关联的整个.csproj文件 我已经有一个工作任务可以完成这项工作,但是我面临的限制是.less文件必须位于相对于.csproj文件的特定位置。如果.less文件在目录中更深/更高一级,则我用于生成.csproj文件的方法将无法找到要生成的正确.csproj文件 我目前的任务主要基于Kamsar的Sitecore栖息地回购协议中的一项任务: 详情如下:Javascript 使用Gulp在较少更改的基础上构建csproj,javascript,c#,visual-studio,gulp,Javascript,C#,Visual Studio,Gulp,我目前正在尝试提出一个gulp任务,该任务将在.less文件发生更改时构建与特定.less文件关联的整个.csproj文件 我已经有一个工作任务可以完成这项工作,但是我面临的限制是.less文件必须位于相对于.csproj文件的特定位置。如果.less文件在目录中更深/更高一级,则我用于生成.csproj文件的方法将无法找到要生成的正确.csproj文件 我目前的任务主要基于Kamsar的Sitecore栖息地回购协议中的一项任务: 详情如下: gulp.task("Auto-Publish-L
gulp.task("Auto-Publish-Less",
function() {
var root = "./src";
var roots = [root + "/**/resources/styles", "!" + root + "/**/obj/**/resources/styles"];
var files = "/**/*.less";
gulp.src(roots, { base: root })
.pipe(
foreach(function (stream, rootFolder) {
console.log(rootFolder);
gulp.watch(rootFolder.path + files,
function(event) {
if (event.type === "changed") {
var dest = config.websiteRoot;
console.log("Build project associated with this file: " + event.path);
return gulp.src([event.path + "/../../../*.csproj"]).pipe(publishStream(stream,dest));
}
});
return stream;
}));
});
只要.csproj文件比.less文件高出3级,这就非常有效。我还可以为更高的2个级别、更高的1个级别等添加更多通配符。不过,我想看看是否有办法在
gulp.src
中“查找”第一个匹配的文件,向上移动目录结构,然后在找到第一个匹配后停止。有没有一种方法可以在吞咽和/或普通的旧js中实现这一点?查看此软件包:
查找包含给定文件或目录的第一个父目录:
查看此软件包: 查找包含给定文件或目录的第一个父目录: