ruby - 在 Rails 之外使用 sprockets ——指令不起作用

标签 ruby coffeescript sprockets

我正在尝试在 Rails 之外将 Sprockets 与 CoffeeScript 文件一起使用,但未处理指令:

# app.js.coffee
#= require models/user
# some other code...

现在,该文件被处理为:

require 'sprockets'
root = 'some path...'
env = Sprockets::Environment.new(root)

env.append_path(File.join(root))
env.append_path(File.join(root, 'models'))

compiler = Sprockets::StaticCompiler.new(env.index,
                                         'output',
                                         %w(app.js.coffee),
                                         :digest => nil,
                                         :manifest => false)
compiler.compile

来自 app.js.coffee 的代码确实被编译了,但是来自 models/user 的内容没有被包含(也没有引发错误)。

这是 Sprockets 2.0.3。

有什么想法吗?

最佳答案

哦,亲爱的,在深入源代码一个小时左右之后,我发现 Sprockets 只会听取文件顶部的指令,文档中也说明了这一事实,但我不知何故错过了...

关于ruby - 在 Rails 之外使用 sprockets ——指令不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9156685/

相关文章:

ruby-on-rails - 通过 sprockets 动态渲染一个 sass 文件

ruby - Splat 在论证位置

javascript - Backbone Model 有条件地触发事件,View 听不到它

javascript - 了解从 CoffeeScript 中的拼接返回的结果

javascript - Atom编辑器:用于插入时间戳的代码段

ruby-on-rails - 从 Controller 渲染 js 时使用 Rails Sprockets 指令

ruby-on-rails - 通过 "monolithic"迁移增量更改架构

ruby-on-rails - Activeadmin 渲染 'new' 在尝试覆盖创建 Controller 方法时给出无法找到没有 ID 的用户

ruby - 使用 Ruby 的 Yard doc 工具,我可以将 Yard 配置为*不*按字母顺序放置方法吗?

ruby-on-rails - 在生产环境中覆盖后端 Assets