8

将compasssusyblueprint集成到 django 项目中的首选或最佳方法是什么?

4

2 回答 2

28

我们选择避免​​自动运行时 sass/compass 编译,而是在开发中简单地使用“compass --watch”并将 Sass 和生成的 CSS 提交到存储库。那么你的 Django 项目中根本不需要特殊的机器;您只需像往常一样处理 CSS 文件。

这对我们有几个好处:

  • 从我们的部署和生产服务器基础架构中移除一整块额外的移动部件:不需要在我们的生产服务器上拥有完整的 Ruby 堆栈,以及 Sass、Compass 和任何其他必需的 gem。使生产服务器更简单是一件非常好的事情。此外,部署到纯 Python 主机也没有问题。
  • 由于 Compass 插件 gem 版本之类的细微差异,一个开发人员与另一个开发人员之间或开发与生产之间没有神秘的细微显示不一致。每个人都看到相同的 CSS。开发人员的 Compass 环境之间的差异很快就会被发现,因为它们会立即显示为生成的 CSS 的预提交差异中的意外更改。

当然,缺点是将生成的代码提交到 repo,这通常是不受欢迎的。不过,我们还没有看到任何实际问题。没有人想直接编辑生成的 CSS;我们都知道我们使用指南针。对我们来说,优势肯定大于劣势——我们从来没有想过要切换到像 django-css 这样的集成方法。

于 2011-05-09T16:14:05.643 回答
8

最好的办法是使用 django-css,它是 django-compressor 的一个分支,它也可以对 SASS 进行 css 编译。插入后,您可以正常使用 compass、susy 和 blueprint,只要 django 检测到源文件的更新版本,它们就会被编译。

编辑:如果您在 ep.io 等纯 python 主机上进行部署,您将需要研究如何轻松地将这些构建到cleverCSS(纯python SASS&SCSS 编译器)中

编辑2:

此信息已过时。django-compressor 现在是最好的选择,因为它内置了预处理工具,它也可以为你打包文件;)

于 2011-05-06T06:18:03.987 回答