我有一个包含之类的东西几个模块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; }")
Run Code Online (Sandbox Code Playgroud)
哪个没用.
是的,这确实是可能的,事实上已经存在一个成熟的解决方案.
它被称为指南针.
对于Compass来说有很多含糊不清的地方,这是我解决它的非规范尝试.
指南针是一个名称下的三个不同的东西:
compass命令行工具用于编译SASS为那些扩展的支持.请注意,它只是原始SASS编译器的包装器,而不是独立的编译器.以下是它的主要特点:
compass允许仅使用其名称和omittng路径导入扩展名,例如@import singularity.config.rb配置文件.config.rb是一段Ruby代码.关于它的最好的事情是你可以用强大的Ruby声明自定义SASS函数!@import compass在SASS中),包含许多无价的SASS mixins和函数.如果您要根据需要创建Compass扩展,可以将其用作入门工具包(请注意,入门工具包名称中的"模板"一词意味着与上面不同).
PS你正在使用pyScss,它声称完全支持Compass.然而,我认为这是一种有点不好的做法.我宁愿使用原生SASS和Compass软件.使用RVM,RubyGems和Bundler等Ruby工具,即使您的项目不在Ruby中,也可以非常简单地进行维护.项目的复杂性增加了,但是使用本机工具而不是一些可疑端口的简单性让您感到高兴.另请参阅如何在Django中使用Compass/Sass.
还可以看看Grunt和Yeoman,它们被认为是改善开发工作流程的最现代化的做法.
参考