Sinatra-Assetpack不提供js文件

时间:2011-12-10 02:37:37

标签: ruby sinatra padrino sinatra-assetpack

这应该很简单,但它根本不起作用。与sinatra-assetpack一起运行Padrino。所有css文件都完全像这样:

serve '/stylesheets', from: '/app/stylesheets'
css :shared, [
  '/stylesheets/reset.css',
  '/stylesheets/runemadsen.css'
]

但是当尝试提供.js文件时,它不起作用。我在脚本加载中获得了404:

serve '/javascripts', from: '/app/javascripts'
js :shared, [
  '/javascripts/jquery.js'
]

我真的不明白。这是完全相同的代码。文件在那里。有什么提示吗?

1 个答案:

答案 0 :(得分:0)

不确定问题,但您能否使用基本方法? serve '/javascripts', from: '/app/javascripts'部分是可选的。来自Readme只有javascript:

require 'sinatra/assetpack'

class App < Sinatra::Base
  set :root, File.dirname(__FILE__)
  register Sinatra::AssetPack

  assets {
    # The second parameter defines where the compressed version will be served.
    # (Note: that parameter is optional, AssetPack will figure it out.)
    js :app, '/js/app.js', [
      '/js/vendor/**/*.js',
      '/js/app/**/*.js'
    ]
  }
end

值得的是,我的assets块看起来像这样:

  assets {
    js :main, [
      '/js/jquery.js',
      '/js/application.js',
    ]

jquery位于public/js,application.coffee位于app/js。我的布局(haml)中的脚本标记是=js :main