python - 编译SCSS时默认导入常用模块

标签 python sass

我有几个模块包含类似 border-radius 的内容, $btnBgColor , up-arrow .

大多数其他模块需要 import他们在一个地方或另一个地方,所以我想知道我是否可以 import他们在 SCSS编译器级别这样我就可以像使用内置工具一样使用这些常用工具

我使用的 SCSS 实现是 pyscss . Scss编译器构造函数接受 scss_files参数,我认为它可能被用来预导入一些文件,所以我尝试了类似的东西:

  compiler = scss.Scss(scss_files={path: source})
  compiler.compile("a { background: $btnBgColor; }")

哪个没用。

最佳答案

是的,这确实是可能的,而且事实上已经有成熟的解决方案。

它叫做 Compass .

关于什么是 Compass 存在很多歧义,这是我尝试解决它的非规范尝试。

指南针是同一个名字下的三种不同的东西:

  1. A standard用于创建可重用的 SASS 模块,就像您想要的那样。这些模块称为“Compass 扩展”。 Compass 扩展基本上是以特定方式组织的 SASS 代码片段,以 Ruby 形式分发 gems .它们还可以包含用于引入自定义 SASS 函数的 Ruby 代码。
  2. compass 命令行工具 用于编译支持这些扩展的 SASS。请注意,它只是原始 SASS 编译器的包装器,而不是独立的编译器。以下是它的主要特点:
    • compass 允许仅使用名称和省略路径导入扩展,例如。 G。 @import singularity.
    • 依赖于config.rb 配置文件。 config.rb 是一段 Ruby 代码。最好的一点是您可以使用强大的 Ruby 声明自定义 SASS 函数!
    • 它还为您的 SASS 项目强加了特定的文件/文件夹结构,称为“Compass 项目”。一个非常基本的 Compass 项目由一个配置文件、一个用于 SASS 代码的文件夹和一个用于生成的 CSS 代码的文件夹组成。一些 Compass 扩展包含模板,允许您创建具有更高级结构的新 Compass 项目(我推荐 Toolkit 扩展)。
  3. 指南针 extension同名(即 SASS 中的 @import compass),其中包含许多无价的 SASS 混入和函数。

如果您要根据需要创建一个 Compass 扩展,您可以使用 this作为初学者工具包(请注意,初学者工具包名称中的"template"一词与上述含义不同)。

PS 您使用的是 pyScss,它声称完全支持 Compass。然而,我认为这是一种不好的做法。我宁愿使用原生 SASS 和 Compass 软件。使用像 RVM 这样的 Ruby 工具、RubyGems 和 Bundler ,它的执行和维护都非常简单,即使您的项目不是使用 Ruby 编写的。你的项目的复杂性增加了,但它通过使用 native 工具而不是一些可疑的端口的简单性让你得到返回。另见 How to use Compass/Sass with Django .

另请查看 GruntYeoman ,这被认为是改进您的开发工作流程的最现代的做法。

引用资料

关于python - 编译SCSS时默认导入常用模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17315450/

相关文章:

css - 背景图片不会出现在我正在处理的 Rails 应用程序中

python - 从 Cosmos DB 查询时出现连续 token 问题

html - 运行 grunt dist 后标题未正确对齐

css - Angular Material Mat-基于最长选项宽度选择宽度

javascript - 如何使文本在另一个 div 内动态更改宽度的 div 上居中?

css - 在父 SASS 上设置样式

使用 %s 的 Python MySQL Connector 数据库查询失败

python - 在 macOS Sierra 上安装 pip

python - matplotlib改变jpg图像颜色

python - 停止键盘中断到达批处理文件处理器