Sass --watch检测到更改,但没有编译为CSS。

5
所以我阅读了Sass watch is detecting changes but not compiling to css以及许多其他地方,但似乎没有什么能帮到我。当创建.css文件时,它会返回已创建“front-page.css”等文件。这一切都有效,直到您继续进行更新,它只是说“检测到更改:…”,但不更新.css文件。有任何想法为什么会发生这种情况吗?谢谢!

从终端:

sass --watch scss/front-page.scss:front-page.css
>>> Sass is watching for changes. Press Ctrl-C to stop.
[Listen warning]:
  Listen will be polling for changes. Learn more at "..."
>>> Change detected to: scss/front-page.scss
      write front-page.css
      write front-page.css.map
>>> Change detected to: scss/front-page.scss
>>> Change detected to: scss/front-page.scss

总之,它创建文件,检测更改,但不更新CSS文件。

检查了所有文件的权限了吗?这是有效的CSS吗?sass文件生成的是有效的CSS文件吗?使用命令行界面的sass实用程序。 - Ryan Vincent
@RyanVincent 一切都是有效的——只是在第一次创建后没有输出任何新内容。我尝试将文件权限设置为777,但似乎没有任何作用。 - aaronb
我也看到了同样的行为。它似乎会在进行较大更改时更新,但有时会忽略较小的更改。目前我还没有找到明显的模式。有时它会重写 .css 文件,而其他时候它只是指出 .scss 文件已更改。 - EFH
5个回答

1
似乎SCSS缓存中出现了某些损坏,导致SCSS无法正确编译输出。
通过删除运行命令的文件夹中的“.sass-cache”目录来解决此问题。

0
在我的情况下,我没有将页面的.scss文件导入到编译项目样式的主文件中。因此,即使监听器能够检测到它,但它没有被包含在编译中,这只是我忽略的一个细节。

0

我曾经遇到过同样的问题,但是我现在知道的是,当你的sass代码中有拼写错误时,Live sass Compile不会更新css文件。所以我创建了一个新的sass文件,并复制和粘贴了我的代码片段来检查错误可能出现的位置,这样问题就解决了。


0

很可能是语法错误。请检查路径是否正确。在您的情况下,scss文件必须与package.json文件处于同一级别。


-4

这是我的第一次贡献!哈哈。 我假设这是在终端中进行的操作。 确保你正在运行所需文件夹中的sass。 然后,你需要输入指令 sass --watch front-page.scss:front-page.css 记得去掉 "scss"。


3
如果发帖者所在的目录错误或文件/目录路径错误,Sass会引发一个错误,指出文件不存在。 - cimmanon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接