【发布时间】:2012-05-24 22:05:55
【问题描述】:
我打算在一个大项目中使用 sass/compass。是否有可能一些团队成员可以使用简单的 css 而其他人仍然可以编写 scss?
我真正想知道的是 compass/sass 监听 scss 并在同一时刻转换 css 的方式是否也可以监听 css 文件并转换回 scss 文件中的任何更改?
【问题讨论】:
标签: css compass-sass sass
我打算在一个大项目中使用 sass/compass。是否有可能一些团队成员可以使用简单的 css 而其他人仍然可以编写 scss?
我真正想知道的是 compass/sass 监听 scss 并在同一时刻转换 css 的方式是否也可以监听 css 文件并转换回 scss 文件中的任何更改?
【问题讨论】:
标签: css compass-sass sass
我会说不——或者至少,不容易。 SCSS 与常规 CSS 完全兼容,并且可以编译为 CSS,但反之则不然,因此源文件应该是 CSS 或 SCSS。
不过,这取决于您的项目。假设两名成员正在从事项目的两个完全独立的部分。他们可以使用单独的文件,并选择在 SCSS 或 CSS 中工作。然后,它们的文件可能会包含在主 SCSS 文件中,或者与构建脚本合并在一起——甚至在生产中保持独立。这不会有任何问题。
不过,我总是希望所有团队成员都以类似的方式工作,这样他们就可以在出现问题时轻松地相互掩护。
【讨论】:
可能,但并不理想。最好的办法是打开终端并运行
sass-convert --from css --to scss
在您的样式所在的目录中然后从那里重构。这是一种痛苦,而不是真正的“转变”。它会尝试正确嵌套,并且通常会做对,但是如果您不重构代码并使用诸如 mix-ins、extends 和变量之类的东西,这有点违背了使用 SASS 的初衷。
要自动执行此操作,您可能需要使用 Guard 之类的东西来观察 css 文件的更改。你需要确保你没有同时关注你的主要风格(sass 正在编译的那个),因为这会让你进入一个永无止境的转换循环!
【讨论】:
您可以查看以下提供此类服务的网站:
https://css2sass.herokuapp.com
______________| CSS | SASS | SCSS |
| CSS | - | X | X |
| Minified CSS | X | X | X |
| SASS | X | - | X |
| SCSS | X | X | - |
【讨论】:
使用命令安装指南针
gem install compass
运行此命令。这将扫描定义的目录中的 css 文件并将它们转换为 scss 文件。
sass-convert -R my_css_dir --from css --to scss
然后执行这个命令
compass watch
这将监视 scss 文件的更改并自动将它们转换为 css 文件。
【讨论】:
sass --watch?
我为此写了一个工具:) http://sebastianpontow.de/css2compass
但这真的只是一个帮助你入门的工具,你应该经常检查输出并重写它的关键部分——输出可能不是编写 scss 代码的最佳方式
【讨论】: