npm run build してるのに……
この記事タイトルに対してよくある回答は、「本場環境に Laravel をデプロイしたら npm run build しなさい」だが、そんなド初心者じゃなくてもエラーになるという話。
ビルド時のログをよくみると manifest.json は出力されている。
しかし、.vite サブディレクトリの中だった。
public/build/.vite/manifest.json 6.28 kB │ gzip: 1.00 kB
犯人は vite version 5
vite は version 5 から manifest.json の出力先が変更なったとのこと。
出力先をもとに戻すオプションは探したが見つからなかった。
では、Laravel が参照する manifest.json のパスを変更する? ……こちらもよくわからない。
自分としては、新たに作成した Laravel プロジェクトで sail による Docker コンテナで vite を導入しただけである。なのに、vite の仕様変更に Laravel 側が対応してないのでまったく意味がわからない。
毎回、build したあとに手で移動して対応するのは流石に……
package.json
毎回手で移動するという発想ができるのなら、package.json の scripts で解決できた。
"scripts": {
"dev": "vite",
"build": "vite build && mv public/build/.vite/manifest.json public/build/manifest.json"
},