node.js在heroku上提供的静态文件 - 这是一个好主意吗?

use*_*521 2 seo static-files node.js single-page-application

我有Backbone驱动的单页应用程序.应用程序包含几个文件:

index.html
javascripts/app.js
javascripts/vendor.js
stylesheets/app.css
images/ -> image assets
Run Code Online (Sandbox Code Playgroud)

我想为prerender.io我的应用添加服务,使其对SEO友好.对我这样做最简单的方法是使用express.js托管heroku:

var express = require('express');
var app = express();
app.use(require('prerender-node').set('prerenderToken', 'YOUR_TOKEN'));
// ...
app.listen(process.env.PORT || 5000);
Run Code Online (Sandbox Code Playgroud)

但也许express或实际上node不是最好的服务静态文件?也许heroku不是最好的服务静态文件?什么是最好的解决方案?您有什么推荐的吗?

Pre*_*.io 9

请参阅此StackOverflow问题,了解通过expressjs提供静态文件:使用express.js的静态文件

你应该可以使用Heroku的免费dyno来处理大量的流量,因为你只提供静态文件.

我建议将所有这些文件/文件夹放在"public /"目录中并使用以下代码:

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

app.listen(process.env.PORT || 3000);
Run Code Online (Sandbox Code Playgroud)