无法使用Stylus @import和Rake Pipeline

时间:2012-12-05 15:08:51

标签: asset-pipeline stylus

我有一个简单的Rake Pipeline设置,只使用rake-pipeline-web-filters gem在我的.styl文件上运行“stylus”。 (最初的管道做得更多,但我已经把它修改为这个问题的基本要素。

=== Assetfile ===
require "rake-pipeline-web-filters"

output "build"

input "app/style" do
  # Compile Stylus to CSS
  match "*.styl" do
    stylus
  end
end

这适用于将单个.styl文件转换为单个.css文件。

但是,我无法使用Stylus @import命令在另一个文件中导入一个文件(对于mixins来说是必需的。相反,我得到了错误

ExecJS::ProgramError: Error: stylus:1
 > 1| @import "appmixins"
   2| 

failed to locate @import file appmixins.styl

所有样式文件都在同一个文件夹中,当我使用npm版本在命令行上执行手写笔时,导入工作正常,因此没有语法错误。

这只是rake-pipeline-web-filters中Stylus Filter缺少的东西,还是我可以做些什么来使它工作?

1 个答案:

答案 0 :(得分:0)

好吧,看起来当我在Rake Pipeline中运行假设所有路径都从我正在运行管道的目录开始时,所以所有@imports都必须相对于那个。将我的导入更改为@import "app/style/appmixins"。这与Stylus的NPM版本不同,因为它期望(和文档指定)所有路径都相对于单个样式表。不确定我是否可以在Assetfile中以不同方式指定块以使其按预期工作,但无论如何,它现在对我有用。