飽き性の頭の中
ReactとFirebase Hostingで雑に自分のサイトを作ってみたのサムネイル

ReactとFirebase Hostingで雑に自分のサイトを作ってみた

2019-01-03に公開

IT技術メモ
# React# Firebase

ちょっと前に React と Firebase Hosting で雑に自分のサイトを作ってみたのでそのことをメモしておく。

自分のサイトを作った経緯

自分のプロフィール的なページが欲しかった

雑な話ではあるが、自分の各サービスのアカウントへのリンクがあるだけの簡単な一枚ページがあると便利だなと思っていた。

あとなんかみんな自分のページなんか持ってたりするし、単純に僕もほしいなと思ったのもある。

自分の開発を雑に出す場所が欲しかった

あと、週末になんともいえない雑なコードを書いて何かを作るのだけれど、出す先もなくお蔵入りすることが多々あった。

あえて単体でデプロイするほどのものでもないし、わざわざ人に教えるような代物でもないものばかりなのでそれはそうなのである。

でも自分のページがあってその下にとりあえずおいておくくらいなら気楽かなと思っていたので、ゆくゆく雑な機能を置く場所にしたいという目論見があった。

なので、外部サービスではなくミニマルで自分で作ることにした。

作ったサイト

結局こんな感じに落ち着いた。

20190102012118.png

https://tawa.me

いい感じにはしたいのだけれど、僕にはこれが限界だった。

写真を取るのが趣味なので、過去の写真を乗っけとけば見栄えするだろうという雑な発想。

技術構成

React

環境は以下を参考にして作った。

勉強も兼ねて自分で webpack が見られた方がよいだろうなと思ったからである。

https://www.typescriptlang.org/docs/handbook/react-&-webpack.html

コマンド一発でもできるはず

ミニマルで React を動かすならcreate-react-app 一発で作るのが楽かとは思う。

create-react-app my-app --scripts-version=react-scripts-ts とオプションをつければ TypeScript にもできる。

github.com

ただ今は公式が TypeScript に対応して(?)DEPRECATED になっているので公式を参考にすればできると思う。

facebook.github.io

Firebase Hosting

静的ファイルをデプロイできる Google のホスティングサービス。

firebase init をして firebase deploy をすれば雑に世に出せてしまうので重宝している。

Firebase のサービス郡には他に、Authentication や Realtime Database もあるのでとても便利。

firebase.google.com

細かなこだわり

ルーティングを入れる

このあたりを参考にして React Router を導入。

react-router@v4 を使ってみよう:シンプルな tutorial

当時は他にページがなかったのでまったく意味がなかったがこの前ようやくゴミ機能をデプロイしたのでようやく役立った。

メッセージ画像生成 | tawa.me

ただ今ページごとに html のメタデータを変えていないので対応した OGP が出せていない。

いい感じに SSR もしたいなとは思っているが、どうしたらよいだろうか。

tslint と prettier を整える

今会社でやっている React Native のプロジェクトが tslint と prettier で基本すべて自動で整えてくれるようにしている。

これに慣れてしまって、自動で直してくれない状態でコードを書くのが気持ち悪かったので導入。

このあたりを参考にさせてもらった。

TSLint を使う TypeScript プロジェクトにコードフォーマッタ Prettier を導入する

まとめ

雑なページをさっと作るにはかなり楽な構成だったと思っている。

React や Firebase のおかげで開発者はほぼ何もせずにサイトが作れるのは本当にありがたい。

Profile picture

たわ / tawachan

1994年生まれ(29歳)

大学院修士課程(政治学)(2021-2023)

Web開発(2017-)

関連記事

タグ一覧

# 福岡:39# 東京:20# 大学院:13# 移住:10# エナジードリンク:9# Google:8# ブロックチェーン:8# Mac:7# Sony:7# Webエンジニア:7# Apple:6# Firebase:6# Next.js:6# サントリー:6# Googleフォト:5# インドネシア:5# 埼玉:5# 英語:5# AWS:4# Canon:4# EOS 8000D:4# Kindle:4# TypeScript:4# ZONe:4# a7iii:4# ラーメン:4# 京都:4# 仮想通貨:4# 社会人:4# 鴨川シーワールド:4# Docker:3# EOS8000D:3# Google Drive:3# Lightroom:3# Markdown:3# Pixel:3# React:3# React Native:3# d.school:3# iPad:3# iPad mini:3# アマルティア・セン:3# アメリカ:3# コワーキングスペース:3# セブンイレブン:3# デザイン思考:3# レッドブル:3# ワークショップ:3# 卒業旅行:3# 寿司:3# 旅行:3# 紅葉:3# 長崎:3# API:2# ChatGPT:2# ECR:2# ERC20:2# Expo.io:2# Firestore:2# GPT4:2# Gatsby.js:2# GitHub Actions:2# Kindle Oasis:2# Kindle Paperwhite:2# LINE:2# MacBook Pro:2# NestJS:2# Notion:2# Oculus:2# Oculus Quest:2# Pixel Buds:2# VS Code:2# Zotero:2# iPhone:2# pandoc:2# re:Invent:2# かき小屋:2# カフェ:2# ギグワーカー:2# サーチコンソール:2# ジャカルタ:2# スターバックス:2# ステーキ:2# スマートウォッチ:2# ソラマチ:2# チョコレート:2# ニューヨーク:2# バリ島:2# パンとエスプレッソと:2# ヒュッゲ:2# ビーチ:2# ブックスタンド:2# ブログ:2# マクドナルド:2# ミズマチ:2# モンスターエナジー:2# ワイヤレスイヤホン:2# 三千院:2# 両国:2# 修士論文:2# 兵庫:2# 千葉:2# 博多:2# 堀江貴文:2# 宮崎:2# 就活:2# 嵐山:2# 川越:2# 広島:2# 新宿御苑:2# 日米学生会議:2# 有馬温泉:2# 東寺:2# 東浩紀:2# 機械学習:2# 歴史:2# 民主主義:2# 江ノ島:2# 浅草:2# 清澄白河:2# 独自ドメイン:2# 神奈川:2# 神戸:2# 転職:2

©2023 tawachan All Rights Reserved.