【问题标题】:CSS file out of sync with my SCSS fileCSS 文件与我的 SCSS 文件不同步
【发布时间】:2014-09-12 03:30:09
【问题描述】:

我是一名 SASS 新手,我有一个顾虑。我正在使用 PyCharm,我使用 SASS 编写 CSS 的工作流程似乎是在 SCSS 文件中完成我的所有工作,然后链接到它为我的 HTML 文件生成的转译 CSS 文件。

但是如果我直接在 CSS 文件中进行大量更改会发生什么?下次我的 SCSS 文件被转译时,这些更改会被破坏吗?

在 PyCharm 中,我使用“SCSS”“文件观察器”并选中“仅跟踪根文件”设置。所以我不确定这对我的 CSS 更改意味着什么。

我担心我最终会得到两个不同的版本文件,或者我可能会丢失更改。感谢您的帮助。

【问题讨论】:

标签: python css sass pycharm


【解决方案1】:

是的,您的 CSS 将被完全覆盖!所以不要这样做!

SCSS 文件观察器将您的 SCSS 编译成 CSS,并将覆盖您所做的任何 CSS 更改。

SCSS 语法与旧 SASS 语法相比的优势在于,SCSS 封装了 CSS 语法(并添加了更多功能)。

因此您可以将常规 CSS 语法放入您的 SCSS 文件中(显然您也可以使用 SCSS 语法)。将所有工作放入 SCSS 文件中,不会有任何内容被覆盖。

更新:

要在 cmets 中回答您的问题,您不能阻止开发人员写入 css 文件(除非可能编写脚本将文件更改为只读,但这有点老套,很容易被覆盖)。

我可能建议您使用 SASS 的响亮注释语法,即使您压缩输出 css(您应该这样做),它也会使注释保留在最终的 css 文件中。

只需在评论开头加上感叹号即可:

/*! Please do not edit this CSS file directly.  Make changes to the appropriate SASS files and recompile.  You have been warned... */

【讨论】:

  • 有没有办法防止开发者添加到会不断被覆盖掉的 CSS 文件?
  • 我担心人们不阅读评论以及开发人员从 IDE 快捷方式跳转到 CSS 文件的中间行。我希望有一些东西可以使文件只对所有人只读,但可以从 File Watcher 写入。
  • 理想情况下,您应该压缩输出文件。我不确定您在说什么 IDE 快捷方式,但是当您打开压缩的 css 文件时,它应该在顶部打开。你会看到解压缩的 cmets,然后是一堆压缩的 css(真的很难阅读)。
  • 非常有帮助,但仍然不是白痴证明。在 PyCharm 中,如果您按两次 Shift 键,您可以直接跳转到 CSS 规则的代码位置,进行更改只是为了稍后被转换 SCSS 文件的人覆盖。
  • 不幸的是,无法解决。但我认为任何最终打开压缩 CSS 文件的开发人员都会知道该文件不是以这种方式创建的。所以他们会意识到某些东西创建了那个压缩文件,你会希望他们开始四处挖掘。如果您遵循标准的 sass 约定,那么在 css 文件夹的同一级别会有一个 scss 或 sass 文件夹。
猜你喜欢
  • 2020-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
相关资源
最近更新 更多