0

私は、ユーザーが対話できる静的コンテンツがたくさんあるAngular 4アプリを持っています。 私が直面している問題は、Google側がコンテンツを参照できるように、サーバーサイド側にアプリをレンダリングすることです。 Angular MaterialやPrimeNGなどのUIライブラリを使用するとすぐにAngular 4アプリをサーバーからレンダリングするのは本当に苦痛です。NodeJSとルーティングを使用したサーバー側レンダリングの静的なhtml

実装しようとしているアイデアは、クライアントのすべてのページを別のhtmlファイルに保存し、それらのファイルを静的な方法でレンダリングして、ウェブサイトを解析する際にGoogleが見ることができるようにします。

すべての私のURLはこのパターンに従います。 https://www.mywebsite.com/XXXX/page_id/yyyy

問題がどのように私はURLからpage_idのを抽出し、以前に同じURLに作成された静的なhtmlファイル(page_id.html)をレンダリングするのですか?

+0

試し 'url.split( '/')[4]' –

答えて

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')); 
}); 
関連する問題