我正在尝试使用 Heroku 上传一个简单的单页网页。
我以前用的是Play!框架,但对于带有一些 javascript 的单个页面来说似乎有点过分了。
+ project/
+ public/
+ css/
...
+ img/
...
+ js/
...
index.html
如何将一组基本的静态文件上传到 Heroku?他们的网站上似乎没有关于如何执行此操作的文档。
Heroku 的目的不是托管静态网站。但是,您仍然可以这样做,但您必须创建一个 Ruby on Rails、Play 等项目,在文件夹中添加 HTML。
Heroku 并不真正支持静态网页,它支持应用程序。但是,静态网页可以通过添加虚拟 index.php 轻松“增强”为 PHP 应用程序。
因此,如果您想将文件 foo.html 作为 Heroku 应用程序 Foo 托管,那么: 1. 在 Heroku 上创建 Foo。2. [克隆空仓库到本地目录] git clone git@heroku.com:Foo.git -o heroku 3. touch index.php 4. [add foo.html] 5. git add . 6. git commit -m 'test' 7. git push heroku master
Heroku 有使用 Rack 执行此操作的指南:https ://devcenter.heroku.com/articles/static-sites-ruby
基本上,用一个文件创建一个简单的 Rack 应用程序config.ru
:
use Rack::Static,
:urls => ["/images", "/js", "/css"],
:root => "public"
run lambda { |env|
[
200,
{
'Content-Type' => 'text/html',
'Cache-Control' => 'public, max-age=86400'
},
File.open('public/index.html', File::RDONLY)
]
}
一个Gemfile
:
source "https://rubygems.org"
gem 'rack'
和一个公用文件夹,其中包含index.html
其他资产的文件和文件夹,结构如下:
my_site/config.ru
my_site/Gemfile
my_site/public/index.html
my_site/public/css
my_site/public/images
my_site/public/js
有人创建了一个网站,可以为您生成所有必要的文件:http: //herokustaticmagico.herokuapp.com/