You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NPX Gulp生成的Sourcemap行尾格式(CRLF/LF)反复切换的问题咨询及解决方案求助

NPX Gulp生成的Sourcemap行尾格式(CRLF/LF)反复切换的问题咨询及解决方案求助

大家好,我最近碰到一个绕不开的棘手问题:每次执行npx gulp启动SCSS转CSS的构建流程后,Git都会提示一大堆.css.map文件有变更,但我明明完全没修改过SCSS源码!查看diff才发现,是这些sourcemap文件里的行尾格式从构建前的CRLF(\r\n)变成了LF(\n),而我的队友们同样在Windows环境下执行构建,sourcemap的行尾却能保持CRLF不变,这实在让我摸不着头脑,想请各位帮忙分析下原因,以及给出可行的解决办法。

问题核心现象

构建前后,sourcemap文件的sourcesContent部分会出现明确的行尾差异:

  • "sourcesContent":["$fonts-path: '/styles/fonts';\r\n@import 'misc';\r\n.asset {..."]
  • "sourcesContent":["$fonts-path: '/styles/fonts';\n@import 'misc';\n.asset {..."]

我的本地环境与配置细节

  • 系统:Windows 11
  • WSL版本:2.5.10.0(通过DDEV在WSL中做测试环境)
  • Git本地配置:
    git config core.autocrlf # 输出:true
    git config core.eol # 输出:(空值)
    
  • .gitattributes配置(含修改前后对比):
    初始配置:
    * text=auto
    *.sh text eol=lf
    *.[cC][mM][dD] text eol=crlf
    *.[bB][aA][tT] text eol=crlf
    
    后续根据建议修改为:
    * text=auto eol=crlf
    *.sh text eol=lf
    *.[cC][mM][dD] text eol=crlf
    *.[bB][aA][tT] text eol=crlf
    

已做的排查与尝试操作

  1. 执行git ls-files --eol查看SCSS文件的行尾信息:
    • 我的输出:i/lf w/crlf
    • 队友的输出:i/lf w/lf
  2. 修改.gitattributes后,再次执行git ls-files --eol path/to/a/file.scss,输出变为:
    i/lf w/lf attr/text=auto eol=crlf
    
    但重新用Gulp构建后,.map文件依然会出现行尾从CRLF翻转成LF的变更,Git还是会标记这些文件为修改状态。

核心疑问与求助

  • 同样都是Windows环境,为什么我的sourcemap文件行尾会在构建后从CRLF翻转成LF,而队友的却能保持CRLF不变?
  • 我该怎么调整配置,才能让构建后的sourcemap行尾格式稳定下来,不再被Git标记为无意义的变更?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 09:28:03