React + TypeScriptの環境を作る
reactとtypescriptを使うプロジェクトを作りたくてcreate-react-appのREADME.md
見てたら書いてたので試してみた
tl;dr
create-react-appを使ってtypescript用のプロジェクト作れる
create-react-app my-app --scripts-version=react-scripts-ts
プロジェクトの雛形を作る
create-react-appをインストールして、プロジェクトの雛形を作ります
npm i -g create-react-app create-react-app my-app --scripts-version=react-scripts-ts cd my-app yarn start
tsで型チェックできることを確認する
とりあえず適当にコンポーネント用意して、typescriptのチェックが機能することを確認してみる
src
ディレクトリにcomponent
ディレクトリを作って、その中にNogi
コンポーネントを定義する
// src/components/Nogi.tsx import * as React from 'react'; export interface NogiPropType { member: string; } export class Nogi extends React.Component<NogiPropType> { state: NogiPropType; constructor(props: NogiPropType) { super(props); this.state = props; } render() { return ( <div> <h2>{this.state.member}</h2> </div> ); } }
App.tsxを変更してコンパイル失敗させる
App.tsx
にNogi.tsx
をimportしてpropを設定しないでコンパイルエラーにする
import './App.css'; import { Nogi } from './components/Nogi'; // 追加 // ~ 省略 ~ </p> <Nogi/> // 追加 </div>
これでyarn start
とかでコンパイルするとNogi
のPropがNogiPropType
を満たしてないのでコンパイルエラーになるはず
エラーになるのが確認できたので、Propを追加してコンパイル通す
// before <Nogi/> // after <Nogi member="Mai Shiraishi"/>
これでコンパイル通って下の方に「Mai Shiraishi」が表示されるはず
package.jsonのversionを更新する
※ この記事はうさぎパワーで書かれています
CIとかでpackage.jsonのversion情報をいい感じに更新するほうないかなと思って調べてみたらあったのでメモ
versionとは
npmでインストールされるパッケージのバージョン情報に使われている部分
npm init
でできたpackage.jsonがこんな感じ
{ "name": "nogi", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC" }
今回の話は上から3行目のversion
です
更新方法
最初は手でやってて、最近はsedコマンドとか使ってやってたんだけど npmに標準で更新する機能ついてた
npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease | from-git]
patchバージョン上げてみる
例えばpatchバージョンを上げるなら
npm version patch
コマンドを実行するとpackage.jsonのpatchバージョンが上がってる
{ "name": "nogi", "version": "1.0.1", ~ 以下省略 ~ }
ちなみにgitリポジトリで実行すると
gitで管理されているディレクトリで実行するとバージョン番号でコミットされて、package.jsonのバージョン情報だけでなくgitのタグもついてくれる
git init npm version major $ git log commit c62380479ad7e7dc18a2fe324072a278d8a3864a (HEAD -> master, tag: v2.0.0) Author: yuzu <s.yuzu441@gmail.com> Date: Fri Mar 23 21:22:56 2018 +0900
package.jsonもちゃんと更新される
{ "name": "nogi", "version": "2.0.0", }
今年読んだ本 2018
色々読むけど1年間で何を読んでるのか気になったので
今年読んだ本を随時更新予定
漫画は1巻だけ載せる
技術書
デザイン入門教室[特別講義] 確かな力を身に付けられる ~学び、考え、作る授業~ (Design&IDEA)
- 作者: 坂本伸二
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2015/07/01
- メディア: 単行本
- この商品を含むブログ (2件) を見る
[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)
- 作者: 安井真伸,横川和哉,ひろせまさあき,伊藤直也,田中慎司,勝見祐己
- 出版社/メーカー: 技術評論社
- 発売日: 2008/08/07
- メディア: 単行本(ソフトカバー)
- 購入: 133人 クリック: 2,270回
- この商品を含むブログ (288件) を見る
現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法
- 作者: 増田亨
- 出版社/メーカー: 技術評論社
- 発売日: 2017/07/05
- メディア: Kindle版
- この商品を含むブログ (4件) を見る
漫画
- 作者: 江島絵理
- 出版社/メーカー: 小学館
- 発売日: 2016/12/12
- メディア: コミック
- この商品を含むブログ (4件) を見る
淫らな青ちゃんは勉強ができない(1) (少年マガジンエッジコミックス)
- 作者: カワハラ恋
- 出版社/メーカー: 講談社
- 発売日: 2016/06/17
- メディア: Kindle版
- この商品を含むブログを見る
スティーブズ コミック 1-6巻セット (ビッグ コミックス〔スペシャル〕)
- 作者: うめ(小沢高広・妹尾朝子),なし
- 出版社/メーカー: 小学館
- 発売日: 2017
- メディア: コミック
- この商品を含むブログを見る
写真集
- 作者: 乃木坂46
- 出版社/メーカー: 講談社
- 発売日: 2018/06/26
- メディア: 単行本
- この商品を含むブログを見る
- 作者: 星野みなみ,藤本和典
- 出版社/メーカー: 白夜書房
- 発売日: 2018/04/10
- メディア: 大型本
- この商品を含むブログを見る
- 作者: 齋藤飛鳥,細居幸次郎
- 出版社/メーカー: 幻冬舎
- 発売日: 2017/01/25
- メディア: 単行本
- この商品を含むブログを見る
【Amazon.co.jp限定】西野七瀬1stフォトブック『わたしのこと』 Amazon限定カバーVer.
- 作者: 西野七瀬
- 出版社/メーカー: 集英社
- 発売日: 2018/05/09
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
- 作者: 白石麻衣,篠山紀信
- 出版社/メーカー: 幻冬舎
- 発売日: 2014/12/10
- メディア: ペーパーバック
- この商品を含むブログ (4件) を見る
- 作者: 北野日奈子,藤本和典
- 出版社/メーカー: 幻冬舎
- 発売日: 2018/12/27
- メディア: 単行本
- この商品を含むブログを見る
- 作者: 菅井友香,LUCKMAN
- 出版社/メーカー: 講談社
- 発売日: 2018/06/05
- メディア: 単行本
- この商品を含むブログを見る
その他
中学・高校6年分の英語を総復習する(CD付) (CD BOOK)
- 作者: 平山篤
- 出版社/メーカー: ベレ出版
- 発売日: 2007/09/14
- メディア: 単行本(ソフトカバー)
- 購入: 2人 クリック: 8回
- この商品を含むブログ (1件) を見る
- 作者: 中田敦彦
- 出版社/メーカー: 宝島社
- 発売日: 2018/09/19
- メディア: 大型本
- この商品を含むブログ (1件) を見る