如何在预编译期间包含自定义 SASS 函数?
Posted
技术标签:
【中文标题】如何在预编译期间包含自定义 SASS 函数?【英文标题】:How do I include custom SASS functions during precompile? 【发布时间】:2012-01-30 23:20:40 【问题描述】:我已经使用 Ruby 代码 (http://sass-lang.com/docs/yardoc/Sass/Script/Functions.html#adding_custom_functions) 成功地扩展了一些 SASS 函数,并且我的扩展在开发中正确加载,但是当我预编译我的资产时,没有加载扩展。代码位于 /app/models 中,但这可能不是最好的地方。
我尝试在几个不同的配置文件中明确要求该文件,但在预编译期间它仍然无法加载。这似乎也是一种糟糕的方法。
我知道代码无法加载,因为预编译的 CSS 将 CSS 中的函数名称保留为纯文本。不会抛出任何错误。
那么:像这样的文件在哪里存放的最佳位置,以及如何让 SASS 在预编译期间加载文件?
【问题讨论】:
【参考方案1】:问题最终是我错误地要求该文件,使用的是配置根目录而不是应用程序根目录。假设尝试包含不存在的文件时会引发错误,但显然不是。有一次,我在 config/application.rb 中正确地需要文件,预编译器能够访问我的 SASS 扩展
require "#Rails.root/lib/assets/colorable.rb"
【讨论】:
我使用的是 rails 3.2.3,不得不改用require File.expand_path("lib/assets/colorable.rb")
。 application.rb
的 Rails.root 变量为空以上是关于如何在预编译期间包含自定义 SASS 函数?的主要内容,如果未能解决你的问题,请参考以下文章
Huggingface 微调 - 如何在预训练的基础上构建自定义模型
Keras:如何在编译期间输入形状未知时创建带权重的自定义图层?