我有一个Angular 4应用程序,它有很多静态内容,用户可以与之交互。 我面临的问题是服务器端渲染应用程序,以便谷歌可以引用其内容。 您可能知道,只要您使用Angular Material或PrimeNG等UI库,从服务器进行Angular 4应用渲染就会非常痛苦......
我想要实现的想法是生成客户端中的所有页面,将html保存在单独的html文件中,并使NodeJS以静态方式呈现这些文件,以便谷歌在解析时可以看到它网站,也加快了用户的渲染速度。
我的所有网址都遵循以下模式: https://www.mywebsite.com/XXXX/page_id/yyyy
问题是如何从网址中提取page_id,并将之前创建的静态html文件(page_id.html)呈现给同一个网址?
答案 0 :(得分:0)
由于我正在提供静态html,这是我提出的解决方案:
var express = require("express");
var path = require("path");
var app = express();
app.get('*.*', express.static(path.join(__dirname)));
app.use(express.static(path.join(__dirname)));
app.get('/',function(req,res){
res.sendFile(path.join(__dirname+'/index.html'));
});
app.get('/xxx/:pageId/yyy', function(req, res) {
res.sendFile(path.join(__dirname+'/'+req.params.pageId + '.html'));
});