繁体   English   中英

服务器端使用NodeJS和路由呈现静态html

[英]Server Side rendering static html with NodeJS and routing

我有一个Angular 4应用,该应用具有很多静态内容,用户可以与之交互。 我面临的问题是服务器端渲染应用程序,以便Google可以引用其内容。 如您所知,一旦您使用Angular Material或PrimeNG等UI库,从服务器制作Angular 4应用程序的渲染就是一个真正的痛苦。

我尝试实现的想法是在客户端中生成所有页面,将html保存在单独的html文件中,并使NodeJS以静态方式呈现这些文件,以便Google在解析网站时可以看到它,而且还可以加快用户的渲染速度。

我所有的网址都遵循以下格式: https : //www.mywebsite.com/XXXX/page_id/yyyy

问题是如何从URL中提取page_id,并渲染先前创建到该URL的静态html文件(page_id.html)?

由于我提供的是静态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'));
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM