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

时间:2014-03-10 10:03:40

标签: node.js seo single-page-application static-files

我有Backbone供电的单页应用。应用程序包含几个文件:

index.html
javascripts/app.js
javascripts/vendor.js
stylesheets/app.css
images/ -> image assets

我想将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);

但也许express或实际node不是最适合提供静态文件的? 也许heroku不适合提供静态文件? 什么是最好的解决方案?你推荐什么?

2 个答案:

答案 0 :(得分:9)

通过expressjs:static files with express.js

查看此StackOverflow问题以提供静态文件

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

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

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

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

答案 1 :(得分:2)

您最好使用CDN来提供Amazon S3等静态文件。