Nativeを触っていたらWebの方も触りたくなってきた。Rendering)したかったのでNext.jsを使ってみます。キャッシュ設定もしたかったのでExpress併用も考えます。Application)だと思います。Appで簡単に作れる。SPAのいくつかある問題点の根本的な原因として、最初のアクセスで得られるファイルが多数のjsファイルを読み込んでいる空HTMLだという部分があります。SEOは考慮されるようですがメタタグ(ogpやツイッターカード設定など)を動的に設定しようとしてもクローラーはjsを実行しないため特別な処理※1が必要になります。ExpressSSRだけなら適当なWEBサーバでレンダリングすればいい気もする。テンプレートエンジンによって動的にHTMLファイルを提供できる。Wikiのエンジン一覧見てみるとReactがあります。engineにexpress-react-viewsを設定することでjsxレンダリングが可能。これはReactをレンダリングして静的ファイルとして返すため、React機能の大半が使えない点は注意が必要です。propsとrender()だけ使えるReactみたいな感覚。Reactもちゃんと使いたいのでこれはやめておきます。Next.jshttps://nextjs.org/nowというPaaSでお世話になったzeitの提供するReactフレームワークです。1から作っても簡単ですが、専用のコマンドが用意されているので使います。dev|build|startで動きます。exportを追加します。Routerの設定をしなくてもpagesフォルダの階層に合わせてルーティングされるのは非常に便利です。前にやった非同期処理の結果を初期値にするというのも簡単にできます。Routing(/xxx/:idのようなパスによるクエリ)が使えなかった。パスクエリも含めて色々と簡単に設定できるようにExpressを併用できます。この辺はExpressに関数next()があるため少し検索しにくい(nowほどじゃないけど)。Next単体でもキャッシュの設定ができますが開発限定なので、Expressを使ったサンプルを見て併用してみるのがいいと思います。自動でダイナミックルーティングできるのにキャッシュ設定するとExpressで設定しないといけないのは残念ですが、そこまで手間にはならないです。コメントをキャンセルメールアドレスが公開されることはありません。