Con*_*ing 11 ruby ruby-on-rails sass libsass
我正在尝试让libsass使用Rails 4资产管道.到目前为止,我已经将Github中的ruby-libsass Gem 克隆到我的应用程序的Vendor文件夹中.我将followig添加到我的gemfile中:
gem 'sassc', path: 'vendor/ruby-libsass/'
Run Code Online (Sandbox Code Playgroud)
然后我按照文档添加了libsass的子模块.在libsass文件夹中,我必须在sass2scss库中克隆才能进行编译.我用make install-shared它创建了它/usr/local/lib/libsass.so.在此之后,运行rake assets:precompile会出现以下错误:
rake aborted!
LoadError: Could not open library 'sass': dlopen(sass, 5): image not found.
Could not open library 'libsass.dylib': dlopen(libsass.dylib, 5): image not found
Run Code Online (Sandbox Code Playgroud)
所以我把libsass.dylib这个符号链接到了/usr/local/lib/libsass.dylib.之后,我收到以下错误:
NameError: uninitialized constant SassC::Lib::Context::SassOptions
我尝试在/ruby-libsass/lib/sassc/lib/context.rb调用SassOptions时注释掉这一行,这似乎使它工作并编译资产.第20行注释掉的代码context.rb:
layout :source_string, :pointer,
:output_string, :string,
# :options, SassOptions,
:error_status, :int,
:error_message, :string,
:c_functions, :pointer,
:included_files, :pointer,
:num_included_files, :int`
Run Code Online (Sandbox Code Playgroud)
现在,我遇到的问题是我看不到速度差异.无论是否将libsass添加到我的Gemfile,它都会在7秒左右的时间内编译我的资产.由于初始编译给出了一个与libsass.dylib文件无关的错误,我认为它实际上是使用sassc而不是sass,但它看起来并非如此.
我有什么想法可以错过吗?我没有使用C的经验,所以我甚至不确定我是否正确编译了所有内容,等等.
是的,多亏了这个宝石,我终于让它工作了!该项目仍处于 WIP 阶段,需要一些支持者才能完成。:)
我遇到的唯一问题是您需要sass-rails从项目中完全删除,如果您使用像 ActiveAdmin 这样的 gem,这可能会成为问题。不过也有解决方法。然后,包含在您的 scss 文件中的纯 css 文件@import需要.css在导入的文件名末尾包含。
| 归档时间: |
|
| 查看次数: |
1979 次 |
| 最近记录: |