【问题标题】:Pow config.ru for serving static files outside of the public directory?Pow config.ru 用于在公共目录之外提供静态文件?
【发布时间】:2012-03-12 05:08:23
【问题描述】:

如何设置 config.ru 文件以使 Pow 在公共目录之外提供 html/css/js 文件?假设我想从 html 文件夹中为它们提供服务。

【问题讨论】:

    标签: rack rack-pow


    【解决方案1】:

    您可以使用rack-contrib 中的TryStatic

    require 'rack/contrib/try_static'
    
    use Rack::TryStatic,
      :root => "html",
      :urls => %w[/]
    

    如果您只想在开发期间添加 if ENV['RACK_ENV'] == 'development'(例如,如果您的 Web 服务器配置为从 html/ 提供服务),您可能需要添加 if ENV['RACK_ENV'] == 'development' .

    【讨论】:

    • 通过 gem 安装 rack-contrib。但在 config.ru 中的这些设置不断出现此错误。 NameError: 未初始化的常量 Rack::TryStatic
    • 看起来TryStatic 没有自动加载到rack/contrib.rb 中,试试require 'rack/contrib/try_static';查看我的更新答案。
    • 进行更改后,我收到此错误。 AssertionError:状态必须 >= 100 在 ClientResponse._receiveData (/Users/david/Library/Application Support/Pow/Versions/0.3.2/node_modules/nack/lib/client.js:257:27) 在 [object Object] . (/Users/david/Library/Application Support/Pow/Versions/0.3.2/node_modules/nack/lib/client.js:47:33) 在 [object Object].emit (events.js:64 :17) 在 Client. (/Users/david/Library/Application Support/Pow/Versions/0.3.2/node_modules/nack/node_modules/netstring/lib/ns.js:206:16) 在 Client.emit (events.js:64:17)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    • 1970-01-01
    • 2012-12-15
    • 1970-01-01
    • 1970-01-01
    • 2020-11-22
    相关资源
    最近更新 更多