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

heroku上node.js提供的静态文件-这是个好主意吗?,node.js,seo,single-page-application,static-files,Node.js,Seo,Single Page Application,Static Files,我有主干网供电的单页应用程序。应用程序由两个文件组成: index.html javascripts/app.js javascripts/vendor.js stylesheets/app.css images/ -> image assets 我想将prerender.io服务添加到我的应用程序中,使其对SEO友好。对我来说,最简单的方法是使用托管在heroku上的express.js: var express = require('express'); var app = expr

我有主干网供电的单页应用程序。应用程序由两个文件组成:

index.html
javascripts/app.js
javascripts/vendor.js
stylesheets/app.css
images/ -> image assets
我想将
prerender.io
服务添加到我的应用程序中,使其对SEO友好。对我来说,最简单的方法是使用托管在heroku上的
express.js

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不适合提供静态文件?
什么是最好的解决方案?您有什么建议?

您最好使用CDN来服务静态文件,如Amazon S3。

通过expressjs服务静态文件,请参阅此StackOverflow问题:

您应该能够使用Heroku的免费dyno来处理大量流量,因为您只提供静态文件

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

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

app.listen(process.env.PORT || 3000);
但我必须“捕获”所有google spider请求,并将它们重定向到prerender.io。所以请求序列应该是->
myapp.com=>(server)=>CDN:index.html
-可能吗?问题是,如果需要,我必须在(服务器)步骤中“捕获”所有请求,以将它们重定向到
prerender.io
。。。