Sass watch 命令在完全 sftp 上传之前编译 .scss 文件

Sass watch command compiles .scss files before full sftp upload

我使用 WinSCP 下载和编辑 .scss 文件,并在 Linux(在服务器上)上使用 sass 将它们编译为 .css

保存文件后,我使用:sass scss/style.scss css/style.css,成功将css文件替换为编译后的sccs。

问题

编辑完scss文件后,我想return的部分直接跳到命令行,为了自动化和节省时间。

但是,如果我使用 watch 命令:sass --watch scss/style.scss:css/style.css 同步两个文件,弹出关于不存在的 css 错误的警告:

Change detected to: scss/style.scss
      error scss/style.scss (Line 232: Invalid CSS after "...ht: bold; line-": expected "{", was "")

请注意 当文件上传速度比平常快时(有时会发生),watch 命令会执行它的工作,没有错误。

这是因为,当文件上传需要时间时,sass 在将 scss 文件(在服务器上)完全上传到远程文件夹之前对其进行编译。因此,它只编译文件的一部分,导致 css 错误。

有没有办法为 watch 命令设置一个计时器,以便它在检测到更改之后和编译之前等待几秒钟?

当然,可以接受任何其他克服此问题的方法!!

对于面临同样问题的十亿分之一(我知道你在那里),是时候回答我的风滚草了:

解决方法很简单

反其道而行之:

  1. Install ruby and then sass 在你的电脑上。
  2. 告诉 sass 在本地观察 scss/css 个文件之间的变化:sass --watch scss/style.scss:css/style.css
  3. 在 sass 监视的 css 文件夹中设置 WinSCP 本地目录。
  4. 在要编辑的 css 文件夹上设置 WinSCP 远程目录。
  5. 通过 命令 > 使远程目录保持最新 菜单将 WinSCP 设置为使远程目录保持最新。

就是这样。

如果您编辑并保存本地 scss 文件,sass 会将其编译成 css,然后 WinSCP 会检测到 css 上的更改并自动上传到远程文件夹。