8

我打算在一个大项目中使用 sass/compass。是否有可能一些团队成员可以使用简单的 css 而其他人仍然可以编写 scss?

我真正想知道的是 compass/sass 收听 scss 并同时转换 css 的方式它是否也可以收听 css 文件并转换回 scss 文件中的任何更改?

4

5 回答 5

21

这是可能的,但并不理想。你最好的办法是打开你的终端并运行

sass-convert --from css --to scss

在您的样式所在的目录中,然后从那里重构。这是一种痛苦,而不是真正的“转变”。它会尝试正确嵌套,并且通常会做对,但是如果您不重构代码并使用诸如 mix-ins、extends 和变量之类的东西,它就会违背使用 SASS 的初衷。

要自动执行此操作,您可能需要使用Guard之类的东西来监视 css 文件的更改。你需要确保你没有同时关注你的主要风格(sass 正在编译的那个),因为这会让你进入一个永无止境的转换循环!

于 2012-05-17T14:53:40.823 回答
15

使用命令安装指南针

gem install compass

运行此命令。这将扫描定义的目录中的 css 文件并将它们转换为 scss 文件。

sass-convert -R my_css_dir --from css --to scss

然后执行这个命令

compass watch

这将监视 scss 文件的更改并自动将它们转换为 css 文件。

于 2012-12-07T08:24:37.607 回答
6

我会说不——或者至少,不容易。SCSS 与常规 CSS 完全兼容,并且可以编译为 CSS,但反之则不然,因此源文件应该是 CSS 或 SCSS。

不过,这取决于您的项目。假设两名成员正在从事项目的两个完全独立的部分。他们可以使用单独的文件,并选择在 SCSS 或 CSS 中工作。然后,它们的文件可能会包含在主 SCSS 文件中,或者以其他方式与构建脚本合并在一起——或者甚至在生产中保持独立。那不会有任何问题。

不过,我总是希望所有团队成员都以类似的方式工作,这样他们就可以在出现问题时轻松地相互掩护。

于 2012-05-17T10:32:02.210 回答
3

您可以查看以下提供此类服务的网站:

https://css2sass.herokuapp.com

 ______________| CSS | SASS | SCSS |
| CSS          |  -  |   X  |   X  |
| Minified CSS |  X  |   X  |   X  |
| SASS         |  X  |   -  |   X  |
| SCSS         |  X  |   X  |   -  |
于 2012-12-06T15:46:17.567 回答
2

我为此写了一个工具:) http://sebastianpontow.de/css2compass

但这实际上只是一个帮助您入门的工具,您应该始终检查输出并重写它的关键部分 - 输出可能不是编写 scss 代码的最佳方式

于 2014-08-05T09:57:14.747 回答