使用Sinatra提供静态文件

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (13)

我有一个网页网站只使用HTML,CSS和JavaScript。

我想把这个应用程序部署到Heroku,但我找不到方法。

我现在正试图让这个应用程序与Sinatra一起工作。

.
|-- application.css
|-- application.js
|-- index.html
|-- jquery.js
`-- myapp.rb

以下是myapp.rb...

require 'rubygems'
require 'sinatra'

get "/" do
  # What should I write here to point to the `index.html`
end
提问于
用户回答回答于

如果没有任何其他配置,Sinatra将在public。对于空路由,需要呈现索引文档。

require 'rubygems'
require 'sinatra'

get '/' do
  File.read(File.join('public', 'index.html'))
end

路线应返回String成为HTTP响应体。File.read打开文件,读取文件,关闭文件并返回String.

用户回答回答于

可以使用send_file提供文件服务的助手。

require 'sinatra'

get '/' do
  send_file File.join(settings.public_folder, 'index.html')
end

这将起作用index.html从任何已配置为拥有应用程序静态文件的目录。

扫码关注云+社区