是否有可能上传一个简单的HTML和JavaScript文件结构到Heroku?

我正在尝试将我的一个开源项目部署到heroku,只需要静态的html和javascript就可以了。 但是他们不支持静态网站吗? 我宁愿不把它做成一个Sinatra项目,如果我不打算使用任何东西,但HTML和JavaScript。

~/sites/d4-site $ heroku create --stack cedar Creating quiet-ice-4769... done, stack is cedar http://quiet-ice-4769.herokuapp.com/ | git@heroku.com:quiet-ice-4769.git Git remote heroku added ~/sites/d4-site $ git remote -v heroku git@heroku.com:quiet-ice-4769.git (fetch) heroku git@heroku.com:quiet-ice-4769.git (push) ~/sites/d4-site $ git push heroku master Counting objects: 53, done. Delta compression using up to 2 threads. Compressing objects: 100% (49/49), done. Writing objects: 100% (53/53), 206.08 KiB, done. Total 53 (delta 4), reused 0 (delta 0) -----> Heroku receiving push -----> Removing .DS_Store files ! Heroku push rejected, no Cedar-supported app detected 

你可以使用机架来做到这一点:

https://devcenter.heroku.com/articles/static-sites-on-heroku

或者你可以使用像使用Sinatra的Octopress / Jekyll。

但是,您需要最小的堆栈来提供html静态内容

一个简单的方法是将HTML应用程序伪装成一个PHP应用程序。 Heroku正确识别PHP应用程序。

  1. 将您的index.html文件重命名为home.html。
  2. 创build一个index.php文件,并包含您的条目html文件。 如果您的HTML条目文件按照build议命名为home.html,那么您的index.php应该如下所示:

    <?php include_once("home.html"); ?>

  3. 在您推送的计算机上的命令行中,键入:

    git add .
    git commit -m 'your commit message'
    git push heroku master

Heroku应该正确地检测您的应用程序现在作为一个PHP应用程序

 -----> PHP app detected -----> Bundling Apache version 2.2.22 -----> Bundling PHP version 5.3.10 -----> Discovering process types Procfile declares types -> (none) Default types for PHP -> web -----> Compiled slug size: 9.9MB -----> Launching... done, v3 ... 

疯狂感谢lemiffe他的博客文章: http : //www.lemiffe.com/how-to-deploy-a-static-page-to-heroku-the-easy-way/

下面是一个更加优雅的方法:只需添加一个叫做package.json的文件,它告诉Heroku使用harp作为你的服务器:

 { "name": "my-static-site", "version": "1.0.0", "description": "This will load any static html site", "scripts": { "start": "harp server --port $PORT" }, "dependencies": { "harp": "*" } } 

然后部署到Heroku。 完成!

更多信息: https : //harpjs.com/docs/deployment/heroku

这是什么对我有用:

 cd myProject git init heroku create myApp heroku git:remote -a myApp 

如果入口点是main.html ,则用这一行内容创buildindex.php

 <?php include_once("main.html"); ?> 

然后执行以下步骤:

 echo '{}' > composer.json git add . git commit -am "first commit" git push heroku master 

http://myApp.herokuapp.com/和你的应用程序应该现在在线。;

我知道这可能有点老,但我最终使用维也纳gem来部署这个,基本上它是一个小型的机架应用程序,可以让你在公共文件夹(CSS,图像,JS,HTML)只用几行Ruby的:

 require 'vienna' run Vienna 

另外,为了在heroku上部署,你需要创build一个Gemfile:

 source 'https://rubygems.org' gem 'rack' gem 'vienna' 

然后运行bundle install,以防你没有安装bundle gem,只能在你的terminal上运行:

 sudo gem install bundle 

而这其中,你可以有更多的信息: http : //kmikael.com/2013/05/28/creating-static-sites-in-ruby-with-rack/

有一个非常简单的方法来做到这一点,以防万一有人发现上述答案难以遵循。

你有你的静态网站在index.html的根目录(说),现在你想把它部署到Heroku,怎么样?

git init初始化一个git回购

git add -A添加文件

git commit -m "init commit"提交文件

现在在root,composer.json和index.php中添加两个文件,

touch composer.json

touch index.php

现在将index.html根html重命名为home.html ,然后将此行添加到index.php,

<?php include_once("home.html"); ?>

然后将{}添加到composer.json。

现在只需运行git push heroku master ,就完成了!

嗯… heroku拒绝应用程序的原因之一可能是它试图检测资产pipe道在rails 3.1.x应用程序,我认为。

为什么不通过运行只在默认的堆栈上创build你的应用程序

 heroku create 

然后,您的所有js和css都可以在资产pipe道停用的情况下进入rails应用程序中的公共文件夹。

那么,只要你的网页包含HTML,CSS和JavaScript,那么只要按照以下两个步骤操作:

1)将一个文件命名为index.html(保留其中的任何内容)ex:script,stylesheet&body。

2)现在,更改这些文件,复制并粘贴这些相同的文件,但将域名更改为index.php

然后部署在Heroku上。

因此,这种方法将帮助您部署您的网页