以下の内容はhttps://ozaki25.hatenadiary.jp/entry/2024/04/18/212111より取得しました。
作っているもの
- 3つのプロダクトが同一リポジトリ
- 3000行のコンポーネントとか
- propsバケツリレー
- useEffect chain
- リターンが大きくリスクが小さいものから
- ドメインやコードの理解が深まってから大物を
- 新規開発でもリファクタをすることも
フロントエンドのりアーキ
- やったこと
- AtimicDesighからFeatureベースへ
- ReduxからSWRへ
- カスタムhookでコンポーネントから処理を分離
- 機能ごとに段階的に
知恵袋
問題点
- 少しだけ違う似たようなコードがたくさん
- 処理が入り乱れている
- 少し何かを変えるとテストが落ちまくる
- 型がないから実行時に発覚するエラーが多い
- テスト一番大きくて26000行
- 一番閲覧/機能が多い質問詳細ページを対象に
- controllerのロジックをmodelとutilityに移動
- 共通処理をまとめる
- 切り出した処理のテストを書く
- TS化する
WINTICKET における8万行の Redux コードの TanStack Query への段階的移行
TanStack Queryへの移行
- Reduxでのステート
- サーバレスポンス
- グローバルステート
- ローカルステート
- Reduxだと非同期処理でライブラリが追加で必要
- サーバレスポンスのキャッシュだけTanStack Queryに移行した
移行戦略
- 影響/依存小さい箇所
- 既存アーキテクチャとの共存
- コアロジック
- 複雑な要件に耐えうるか
- 残り
- 妥当性は確認済みなので後はやるだけ
Vue2系EOL
- 2023/12にVue2系がEOL
- 共通UIコンポーネントも2系から3系にあげた
vupの壁
- vee-validateをv3からv4へ
- viteとWebpackを共存しないといけない
- スケジュールの都合で
- 当初はvue2/webpackをvue2/viteにしてvue3/viteにしようとしていた
viteとwebpackの共存
- npmのworkspaceを使った
- workspaceを使うことによる課題
- Swiperのscssのビルドが通らない
- 最新版にしてnode_module配下に対して独自にaliasでかいけつ
- viteだと変数含んだimportだと~などのエイリアスが使えない
- Vue.prototypeで双方の書き方の違いを吸収
以上の内容はhttps://ozaki25.hatenadiary.jp/entry/2024/04/18/212111より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます
不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14