如何在 Heroku 上提供 Gitbook

How to serve a Gitbook on Heroku

我有一个Gitbook repository and I would like to serve it through Heroku。我应该如何为此目的设置我的应用程序?如何让 `Gitbook serve' 命令监听 Heroku 的端口?

谢谢。

1- 添加 gitbook-cli 到您的项目:

npm install --save gitbook-cli

2- 添加一个 Procfile 到您的项目:

web: ./node_modules/gitbook-cli/bin/gitbook.js serve --port $PORT

不要直接在 Heroku 上 运行 gitbook-cli,gitbbok 将使用大量内存并超过免费 dyno 的 512MB 限制。最好的方法是首先将您的书构建到静态网站,然后使用 nodejsexpress static 或 sinatra.

运行 你的 gitbook 文件夹中的以下内容。

gitbook build

将创建一个新文件夹,_book 并且您的所有 html 文件都将在这里。您现在可以在 Heroku 上创建一个新应用程序并提供您的静态内容。

完成 gitbook build 后,您可以通过创建一个 app.js 文件来为该目录提供 Express 服务:

var express = require('express'); 
var app = express();
app.use(express.static(__dirname + '/_book'));

app.listen(process.env.PORT || 3000);

非常简单。更多信息:Static files served by node.js on heroku - is it a good idea?