この記事に以下2点先に申します。
- NuxtBridgeで安全に移行できる方もいらっしゃると思います。
- NuxtBridgeを一切批判するつもりはありません。
目次
- 背景
- 代替方法
- テストについて
- その他参考
- 最後に
1. 背景
業務でNuxtBridgeを使って移行を作業中でしたが苦戦してました。
NuxtBridgeで以下の点で苦戦してました。
-
nuxt.configの設定でbridgeだと設定できないプロパティがいくつかあった
- 例)styleResources
- element-uiでエラー(Uncaught TypeError: Cannot read properties of undefined (reading '$isServer'))が出た為
- _vue2.default.prototype.$isServer
- Nuxt BridgeとNuxt2.17でvueオブジェクトのプロパティが変わっている??vue.versionでどっちも2.17.5でした。
- Nuxt2.17だとエラーにならないです。
また先日こちらのイベントの参加者の方が言うには
vuefesで聞かれた所によるとNuxtBridgeでの移行の成功事例がないらしいです。。
移行作業は私一人でやるのと、対象のリポジトリは2つあるのでNuxtBridge以外の方法でサクッと行う方が良いと思いました。
時間があればNuxtBridgeで出来るところまでやり切りたかったです。
2. 代替方法
2.1 一気に移行
- Nuxt2で対応可能な箇所は先に対応した上で、Bridgeは使わずにNuxt3に一気に移行します。
- 弊社としては以下の理由でこちらでも良いのかなと思いました。
- コンポーネント数が少ない
- 作業者が一人
2.2 部分的に移行
-
iFrameで部分的に移行できるらしいです
こちらについてはまだ理解してないので後日深掘りしたいと思います。
3. テストについて
- 移行先のプロジェクトでマニュアルテストに加え、E2Eテストを検討中です。
- E2Eテストは今まで弊社は導入した実績がないので、playwrightだったり無料ツールでサンプルで作ろうと思ってます!
4. その他参考
- DiscordでNuxtの最新情報やバグ相談について参加、閲覧できます。
discordはこちら
今後使えそうだなと思ったのは以下の二つのチャンネルです。- HELP
- 困ったこととかを聞けますし、自分と同じことで困ってることを見つけれるかもしれないです。
- BridgeのHELPチャンネルもありました。
- LANGUAGES
- 日本語のチャンネルがあったので気軽に議論、相談できそうです。
- HELP
5. 最後に
- 今回、外部のエンジニアの方に相談したことがきっかけでNuxtBridgeを使わないで移行する方法も検討し直すことができました。
- イベントで相談に乗ってくださったペライチさんのエンジニアを始めとした皆さんに感謝致します。
- またペライチさん主催のイベントや、その他様々なイベントで外部のエンジニアの方と交流し、知見を増やして持ち帰ったり、自分と大多数のエンジニアとのギャップの確認をしたいです。