このブログを含むEY-Officeホームページは、Static Site GenerationツールAstroを使っています。 関連ブログ → EY-OfficeホームページのAstro化を進めています、【速報】Astroは遅くなかった! 悪いのは私でした・・・ 。
実はAstroのバージョンはAstroに置き換えた時点の2.3のままでしたが、最新の3.6に更新しました。
なぜバージョンアップしたのかは、
- バージョン3.0で高速化されたらしい
- 最近バージョン4.0 Betaリリースされ、遠くないうちに4.0がリリースされると思われます。一般的にソフトウェアのバージョンアップは1バージョン毎に行う必要があり、いずれバージョン3.0にアップする必要がある
Astro3.6への更新
公式ページにAstro v3へのアップグレードの手順通り行い、簡単にバージョンアップできました。 しかしビルドastro build
を実行したところ以下のようなエラーが発生しました(適当に改行しています)。
[@mdx-js/rollup] The argument 'path' must be a string or Uint8Array without
null bytes.
Received '\x00@astro-page:src/pages/education_non_programer@_@mdx'
file: @astro-page:src/pages/education_non_programer@_@mdx error
なんだろう!? 検索してみても的確な解答は見つかりませんでした。しかしヒントがありした!
このサイトの大部分Markdownで書かれているので、@astrojs/mdx
npmを使っています。しかし、astro
npmをバージョンアップしても @astrojs/mdx
はバージョンアップされませんでした。
@astrojs/mdx
npmをバージョンアップしたところ動くようになりました!
@astrojs/mdx
はアドオンで@astrojs/mdx
はastro
に依存していますが、フレームワークであるastro
は@astrojs/mdx
には依存してないので、astro
をバージョンアップしても@astrojs/mdx
は自動的にバージョンアップされないのです。
アドオン機構を採用しているソフトのバージョンアップでは、注意が必要ですね!
高速化されたのか?
Astro3.6への更新たところ開発モードでの動作がキビキビしました。今までも遅くはなかったのですが、リンクをクリックしてページが表示される際の描画が激早です。
この時間は計測出来ないので、ビルドastro build
の時間を測定してみました。
バージョン | ビルド時間 |
---|---|
2.3 | 8.4 秒 |
3.6 | 7.7 秒 |
10%ほど早くなってますね。
Viteベースになるバージョン4.0も楽しみです。😃