Nuxt meetup #6に行ってきました
NuxtMeetup#6の自分用メモです。 会場での走り書きしたものなので雑ですが参考になれば。 最後にちょっとこ感想書いてます
司会
株式会社スカウターのまさあきくんさん
(Podcastで見たことある人だ)
次回開催は未定!
会場提供してくれる場所募集中!
(GRiDどうですか?という話をしてきました)
Nuxt とTSと私
SMS株式会社 @iwata 氏 資料: https://twitter.com/onigra_/status/1070621538712342528
唐突な質問タイム!
Nuxtを使ってる人は → 6割 TypeScriptを使っている人は? → 2割
dsyn…
TypeScriptやってみたいひとー → 3割
SSRやってみたい人ー → 合わせると4割ぐらい?
TypeScriptの話
ts-loaderの設定
コミュニティのTypeScriptテンプレートを参照しよう
nuxt.jsのexampleにあるが、動かない
Ts-loaderが遅い設定
checker-webpack-pluginを使おう
別プロセスで見るようになるよ
awsome-type-script-loaderもあるけど.vue
には非対応
buildが遅い問題
cacheのオプションをTrueにしよう
たまにChashでエラーになるのでこまめに消そう
Nuxt用の型定義
現在のreleaseはない最近nuxt:devにmergeされたのでそのうち提供されるはず
Nuxt.jsでSPA Webアプリを構築した話
鈴木孝之 氏
レイヤーで起業して会社を運営中
Nuxt歴2ヶ月ぐらい
NuxtとLarabelの設計
自社アプリだったので技術選定は自由だった
Docker+Nuxt+laravelni
JWT認証を使った。
axiosにtoken設定を食わせて毎回使ってAPIと通信している。
Laravelでやっていること
laravelにもJWTようのライブラリがある
工夫した点
mixinでページ遷移時にspinnerを発動させる
独自のスピナーを使いたい
あのローディングのやつ
mixinとは?
コンポーネントにオプションを付けることができ、より再利用性を高めるためのもの
呼び出したいところで呼び出してあげる
Nuxt.jsの管理画面テンプレートが便利
まとめ
JWT認証は簡単
初心者エンジニアがSPAサイトを作ってみた
- 佐藤 涼 氏
- 株式会社スカウター
- @r_sato1201
- Nuxt歴 2ヶ月
ぼくのりかい
「Nuxt.jsっていうプログラミング言語が今はやってるらしい」
色んな人に詰められた…
そんな中、SAPサイト(バンドWebPage)を作った
要件定義→ラフ→構成など実際の手順を踏んだ
誰でも更新できるようcontentfulを使った
→ HeadlessCMS
→ SEO対策のためにSSRかSSGがひつようだが今回はSSGをやりたくて採用した
流れ
プロジェクト作成 ↓ Layoutを作る ↓ コンポーネントを作る
Contentful
space ←→ ContentModel ←→ Entry
spaceID apikeyを取得してcontentfulのプラグインにセット
あとは各コンポーネントから呼び出してあげる
Nuxt + Contentful + Netlifyは誰でもできるくらい簡単!
学んだこと
- アウトプットは大切
- 公式ドキュメントを読もう
- とにかく手を動かす
Nuxzt.js with Apollo Cliant
- Takanori Oki
- @takanorip
- font love
- FOLIO.inc
- FrontEnd Engineer
NuxtでGraphqlを使うためのapollo cliantを使う話。
あ、資料は家に忘れたので即席で作り直してます
ApolloCliant公式にNuxtで使うためのライブラリが用意されている。
- Vue.js用のものをNuxt向けにラップされている
- ゼロコンフィグでイケルで!
- のように見えるが全然そんなことはない
- apollo linkをつなぎ合わせて処理を書いていく
- Http linkで接続先を決めた後トークンを食べさせて最後にapollolinkにすべて食べさせれば設定終わり
- クエリの定義ファイルを事前に用意する。
- 指定した情報以外は帰ってこない
- apollo boostはレールから外れると使いづらいのでやめておこう
設計指針
- ページコンポーネントに閉じ込める
- Vuexに入れる
- Mutetionのみ
ただApolloClinentはページコンポーネントに閉じ込めるほうが良い。 ApolloClientはメモリ上にキャッシュを持つのでVuexに乗っけると2重管理になる
その他ローカルでしか使わないStateはVuexで管理して良い
コンポーネントとストア思考なのでページに閉じ込めていくのはいいと思う
ApolloClientとNuxt.jsの可能性
ReaactのApolloClientは公式チックだが、Nuxtのは非公式、まだ整備が足らないところも多いいが今後整備されていくはずなので使いやすくなるはず。
写真ギャラリーを作る
資料: https://speakerdeck.com/mtmtkzm/mtmtkzm-nuxt-meetup6
- Rider 氏
- 株式会社LIG
- フロントエンドエンジニア
ビットコインのあれ
- event-stream
- flatmap-stream
株式会社LIGの北川氏は実際にいるけど違う人。もちろんLIGは関係ありません。
Nuxtのタイポとか直したらコントリビューターになった!
写真ギャラリーを作った話
- カメラのEXIF情報が見れるようなやつ
同期
- 技術の勉強
- Engineerとして
- カメラの情報をクリックなしでみたい
やったこと
- SSR
写真照射のルーティング
Flickerで人気写真を持ってくる
serverMiddlewareが便利!
- NuxtにAPIを生せる
- stateはfunctionを返しましょう
- 不要な共有状態が起きる
ドキュメントにHerokuへのアップロードするドキュメントがある
- けどまだ2.1はReleaseしてない…
- ここでLive Release!
- あ、エラーが
RoomClipの事例
Web ←→ Nuxt Express ←→Rails
リニューアルまえはSEO点数が24点が64点まで向上!
SEOとパフォーマンスは高得点
インタラクティブになるまで遅い
LazyLoadをやりたい
→ Googleが実装方法を公開!
→ 4ポイント上昇
JSの実行速度が遅い
Vue,js 続。大規模アプリ開発
社外からみたら35点位だった
一休からサードパーティの最適化についてのきじが上がっている
PCからだと90点打してる!
- モダンなフロント開発ができた
- インフラに詳しくなった
- Nodeサーバー周り
- 社員募集中!
破壊しやすいNuxtプロジェクトの作り方
資料: https://slides.com/masaakikunsan/delete_nuxt
なぜ破壊しやすいほうがいいの
- 仕様変更やデザイン修正などに高速に対応できる必要がある
- その度その度の修正ではそのうち追いつかなくなる
- 気軽に破壊して作り直す環境を構築することによって高速で開発する
破壊しやすいプロジェクトのために
- ディレクトリ構造をしっかりする
- 基本的にはNuxtの構造で作り切る
- カラーは一つのファイルに纏めて呼び出す
- SCSSでやっている
- カラー修正に柔軟に対応できる
- コンポーネントは最小単位で行う
- Atomicデザインだと進むに連れて修正が大変になるので行わない
- 実装をすすめて重複があったらMinxin化する
- 無理に再利用性を高めない
同じスタイルは一つのSCSSにまとめる
Twailwind cssおすすめ
「運用フェーズになったらちゃんとしような」
個人的な感想
- 参加者に結構な割合で触って数ヶ月という人が大くまだまだ浸透していく段階なんだなと言うのを感じました。
- それでも2ヶ月でLTとかやっててすごい!自分ももっと外に出していきたい
- 現場で使われ初めているようで各社の知見が出てきてる感じで嬉しい。
- 勉強になります
- 開発スピードを爆速にしていきたい人生だった
あ、写真取るの忘れてた!