Sass --watch模式无法追踪文件变更,求排查方法
排查Sass --watch 不生效的方法
以下是针对WSL2 Ubuntu环境下Sass监听失效的具体排查步骤:
强制启用轮询检测:WSL2对Windows挂载目录的文件系统事件监听(inotify)存在兼容性问题,试试在命令中添加
--poll参数强制轮询文件变化,修改后的npm脚本命令为:sass --watch --poll ./assets/scss/main.scss ./assets/css/style.css迁移项目到WSL本地文件系统:如果项目当前放在Windows的C盘/其他盘符(通过WSL的
/mnt/c等路径访问),将整个项目移动到WSL的本地目录(比如~/projects/your-project),WSL对自身文件系统的事件监听支持更稳定,避免跨系统文件同步的延迟或失效。验证路径正确性:确保npm脚本中的路径是WSL环境下的相对/绝对路径,不要使用Windows风格的反斜杠
\或盘符路径(比如C:\xxx),保持路径为Unix风格的斜杠/。检查WebStorm文件同步:如果在Windows端用WebStorm打开WSL中的项目,确认文件修改后WebStorm已同步到WSL文件系统:
- 右键项目根目录,选择「Synchronize」手动触发同步
- 检查WebStorm设置:
Settings > Tools > Deployment > Options,确保「Upload changed files automatically to the default server」选项开启
确认Sass版本一致性:检查局部项目依赖的Sass版本和全局版本是否一致,执行以下命令对比:
# 局部项目的Sass版本 npx sass --version # 全局安装的Sass版本 sass --version若版本不一致,建议统一使用局部版本(通过
npx执行),避免版本差异导致的功能异常。检查文件权限:确保WSL中项目的.scss文件拥有读写权限,执行命令查看权限:
ls -l ./assets/scss/若权限为只读,执行
chmod +w ./assets/scss/*.scss添加写入权限。
内容的提问来源于stack exchange,提问作者Lurco
相关产品推荐
相关产品推荐

