使用 Gulp.js 和通配模式就地修改文件(相同目标)

2023-12-10

我有一个 gulp 任务,尝试将 .scss 文件转换为 .css 文件(使用 gulp-ruby-sass),然后将生成的 .css 文件放入与原始文件相同的位置。问题是,由于我使用的是通配模式,因此我不一定知道原始文件的存储位置。

在下面的代码中,我尝试使用 gulp-tap 进入流并找出从中读取流的当前文件的文件路径:

gulp.task('convertSass', function() {
    var fileLocation = "";
    gulp.src("sass/**/*.scss")
        .pipe(sass())
        .pipe(tap(function(file,t){
            fileLocation = path.dirname(file.path);
            console.log(fileLocation);
        }))
        .pipe(gulp.dest(fileLocation));
});

基于的输出console.log(fileLocation),这段代码看起来应该可以正常工作。然而,生成的 CSS 文件似乎放置在比我预期高一级的目录中。它应该在哪里project/sass/partials,结果文件路径就是project/partials.

如果有一种更简单的方法可以做到这一点,我肯定会更加欣赏该解决方案。谢谢!


正如您所怀疑的那样,您使事情变得太复杂了。目的地不需要是动态的,因为通配路径用于dest以及。只需通过管道连接到您从中获取 src 的同一基本目录,在本例中为“sass”:

gulp.src("sass/**/*.scss")
  .pipe(sass())
  .pipe(gulp.dest("sass"));

如果您的文件没有共同的基础并且您需要传递路径数组,那么这已经不够了。在这种情况下,您需要指定基本选项。

var paths = [
  "sass/**/*.scss", 
  "vendor/sass/**/*.scss"
];
gulp.src(paths, {base: "./"})
  .pipe(sass())
  .pipe(gulp.dest("./"));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Gulp.js 和通配模式就地修改文件(相同目标) 的相关文章

随机推荐

  • R:无效的多字节字符串[重复]

    这个问题在这里已经有答案了 我使用不带任何参数的 read delim filename 来读取 R 中制表符分隔的文本文件 df read delim file 这按预期进行 现在我有一个奇怪的错误消息 我无法理解它 Error in t
  • 检测后退按钮但不关闭对话框片段

    我有一个浮动对话框的对话框片段 其中包括一个特殊的键盘 当用户在 EditText 字段内按下时会弹出该键盘 正常的 IME 停止显示 我希望当用户按下后退按钮 就像普通的 IME 服务一样 时键盘被关闭 可见性 GONE 但对话框保持可见
  • 为什么我收到手势识别器不能在原型对象上使用的信息?

    当我将 UITapGestureRecognizer 放入场景中 UITableViewCell 内的 UIView 内时 我从情节提要中收到上述错误 知道为什么我会收到此错误吗 我不确定为什么会出现这种限制 但我知道为什么您会收到错误消息
  • 向 Google 蜡烛图添加注释(发布的解决方案会触发 TypeError)

    我正在尝试向 Google Candlestick 图表添加一些注释 我注意到有人已经问过同样的问题 向 Google 烛台图表添加注释 用户Aper u回复了详细的解决方案来扩展图表并添加注释 因为图表没有内置任何此类功能 但是 当我尝试
  • PHP正则表达式检查英文名称

    寻找正则表达式来检查有效的英文名称 即 A Z a z space only 名字 可选 中间名 姓氏 一个可接受的例子 John von Neumann Thanks 编辑 添加检查代码 usr bin php
  • 如何在 c/c++ 中构建没有导入表的可执行文件?

    我找到了修复导入表的工具here 但是如果没有在 c c 中首先构建导入表 PE 是如何可执行的呢 只是不要使用 CRT 也不要使用任何导入的函数 pragma comment linker entry start int start re
  • findAndModify 或 findOneAndUpdate - “不是函数”

    首先 哪个最好 findAndModify or findOneAndUpdate or findByIdAndUpdate 就我而言 我有一张这样的表 seqkeys id invoice seq NumberInt 1 id recei
  • 在编译时获取`std::initializer_list`的大小

    我正在努力实施reshapefortran 与 C 11 14 的函数 我设计了一个函数 该函数接受两个std initializer list 首先initializer list给出我用来初始化的初始值D维数组 第二initialize
  • GCC 如何自动知道包含 glib 库?

    我用 C 语言编写了一个简单的程序 它使用glib h 但是当我编译它时 我收到如下错误 gcc test c o test test c 3 18 fatal error glib h No such file or directory
  • Facebook 成功登录后,ExternalLoginConfirmation 返回 null

    在MVC 5模板中实现Facebook登录 添加了应用程序ID和密码 最初登录失败 因为它返回 null public async Task
  • Twitter 的 Bootstrap typeahead 设置

    我用的是官方的推特上的例子 主要问题是 我可能不知道如何使用霍根怪物 JS端 search name typeahead name name remote url entities search autocomplete json quer
  • MVC 3 和 WebForms 可以在网站上共存吗?

    我目前有一个网站 其中有一个 WebForms 4 网站 该网站是 www mysite co uk 我目前正在使用 MVC 3 开发一个微型网站 我想将其上传到同一网站 但在不同的目录下 这可能吗 或者我需要创建一个新网站吗 是的 这是可
  • 如何使用运动布局缩放父视图内的textView?

    我正在尝试缩放容器视图内的 textView Activity 使用运动布局 如果我不将 textView 放置在容器内 我可以缩放它 这是我的活动布局和运动布局描述文件 如何使scaleX和scaleY工作 活动布局
  • 前置摄像头填充圆形 UIView

    在我正在开发的应用程序中 用户需要进行 自拍 是的 我知道 但该应用程序仅供私人使用 我已经让相机在圆形 UIView 区域中显示一切正常工作 但是我无法让它正确缩放并填充圆圈 这是它现在正在做的事情 这就是我想要它做的事情 这是我的 UI
  • 如何使用 Visual Studio Code 引用程序集?

    我想在我在 OSX 上使用 Visual Studio Code 编写的控制台应用程序中引用 System Drawing dll 即我想使用这些 using 语句 using System Drawing using System Dra
  • 视频缩略图阵列采用者滚动速度缓慢

    我创建了一个采用者来显示特定文件夹中视频的图像缩略图 但当我滚动时 它有点滞后 但这是为什么呢 下面是代码 主要活动类别 public class TestvideolistingActivity extends ListActivity
  • Gulp – 如何在终端中打开新选项卡?

    我对 OSX 的终端知之甚少 但我想通过 gulp 自动打开终端中的选项卡 然后使用 gulp shell 之类的东西在其中运行 gulp 命令 例如 我想要一个 gulp 任务在终端选项卡上启动 mongoDB 并在另一个选项卡中启动我的
  • 将毫秒 UTC 转换为人类可读的 Date_Time

    我正在努力弄清楚如何使用 boost date time 执行转换 我想将从 Unix 纪元 1970 年 1 月 1 日 00 00 测量的毫秒值转换为人类可读的字符串 类似于 2 13 2012 15 20 11将是理想的 我已经尝试过
  • Powershell:Register-ObjectEvent 可以监视剪贴板事件吗?

    在 Windows 10 和 11 上 我已成功使用 Register ObjectEvent 来监视文件系统事件 它也可以用来监视剪贴板事件吗 也就是说 Register ObjectEvent是如何用来hook Clipboard Co
  • 使用 Gulp.js 和通配模式就地修改文件(相同目标)

    我有一个 gulp 任务 尝试将 scss 文件转换为 css 文件 使用 gulp ruby sass 然后将生成的 css 文件放入与原始文件相同的位置 问题是 由于我使用的是通配模式 因此我不一定知道原始文件的存储位置 在下面的代码中