Next.jsプロジェクトの公開手順

Next.jsで作ったアプリを公開、SSL対応、永続化するためのメモ。

nowじゃなくて普通に自前のLinuxサーバーに載せることを考えます。

気持ち的にはNext.jsプロジェクトの初期設定の続きです。

続きを読む Next.jsプロジェクトの公開手順

【Typescript】Nullableに対する様々な操作

Next.js(React)でTypescriptで書いていますが、DOM関連でNullableな操作が続きどう処理するのがいいか悩んだので色々やってみます。

Typescriptは制限と同時にできることも多いので思いのほか色々できました。

 

キーワード:Null合体演算子Null条件演算子Null許容型Type GuardNon-null assertion operatorDefinite Assignment AssertionsOptional chaining

続きを読む 【Typescript】Nullableに対する様々な操作

Next.jsプロジェクトの初期設定

next.jsはnowと合わせると秒単位でWEBアプリを公開できるような超速フレームワークですが、それなりの規模のものを作ろうと思うと色々設定が必要です。

大分慣れてきたので振り返りもかねてプロジェクト初期設定の備忘録。

プロジェクト作成からGit設定、各種コンフィグ類の設定、必須ライブラリの導入とカスタムページの用意まで。

続きを読む Next.jsプロジェクトの初期設定

【javascript】URLエンコードあれこれ

色んなAPIを使っているとPOSTで情報取得をするものもあります。

api keyなんかが必要な場合は仕方ないとして、どうでもいいパラメータをPOSTで送るものがREST APIと自称してて??となることも多々。

そんな中で躓くことの多いapplication/x-www-form-urlencodedのエンコードをどうするのがいいかなと試してみたので覚書き。

 

基本的にネストしたデータは送らないという前提で書いていきます。

階層化したデータを送る必要があるならapplication/jsonで送るかJSON.stringfyしたものを送るようになっているはず。きっとそう。

とはいえ必要な場面が来るかもしれないのでそれっぽいコードも書いておきます。

続きを読む 【javascript】URLエンコードあれこれ

fetchでxml(rss2.0)をパースする

WordPress Blogのfeedをjavascriptで扱いたい。

feedをjsonで返すプラグインなんてのもあったんですが、今後のことも考えて使う側でどうにかしたいと思います。

jQueryの$.parseXML()を使うとかなり楽ですが、できればもうjQueryにはかかわらないようにしたい。

fetch APIを使ってXMLを処理してみます。

続きを読む fetchでxml(rss2.0)をパースする

【Node.js】サーバ処理で使う通信ライブラリ

ここしばらくフロント開発が便利になった反面、サーバ(node.js)でこれ使えないんだっけとなることが多々あります。

特に通信系は多種にわたる処理のいろんなフェーズで使うのため、その場その場で使うものを決めていたんですが今後のために少しまとめておきます。

続きを読む 【Node.js】サーバ処理で使う通信ライブラリ

Next.jsで外部ライブラリのスタイルシート適応

ReactでUIコンポーネントを使う時にMaterial-UIは一番有力な選択肢だと思います。

Next.jsでも同じように使いたいところですが、サーバーサイドレンダリング(SSR)時にcss modulesによるクラス名付与が合わなくなる問題が起きました。

index.js:1 Warning: Prop className did not match. Server: “MuiBox-root…

これによって一部スタイルが崩れてしまう。

devでの再コンパイルや内部遷移によって直ることもあるがproductionでも問題が起きるので使い物にならない状態なので対策します。

続きを読む Next.jsで外部ライブラリのスタイルシート適応

Next.jsのポート番号設定

Next.jsは基本ポート:3000で起動します。

これを定義1つで起動ポートから、プログラムからの参照(自身のAPIアクセスなどで)までするためのメモ。

続きを読む Next.jsのポート番号設定

【React】constructor内でContext APIを使用する

Next.jsを使っていてgetInitialProps()内でContext APIを使いたかったけど、Reactライフサイクル内にないため使えなかった。

じゃあpropsを経由してconstructor()内でコンテクストに入れようとしたら中身にアクセスできなかった。

componentDidMount()でも悪くはないけどrender()前に処理したいので、ドキュメントにない方法で使ってみます。

続きを読む 【React】constructor内でContext APIを使用する

Next.jsのライフサイクルと外部APIのタイミング

簡単にReactを使ったSSRができるNext.jsを使っていて外部APIをfetchするときに色々戸惑ったので覚書き。

公式ドキュメントが結構偏っているのと日本語情報も少ないのでわりと手探りでどうすればいいか考えていきます。

next 9.1.7 react 16.12.0

続きを読む Next.jsのライフサイクルと外部APIのタイミング