for next.js 16,開發環境中:為什麼訪問api可以,但訪問「/」就整台機器給你掛掉
為了怕日後又重複遇到這個現象,所以做這筆記...
在學習專案中先以一個route.ts測試db部分
------src/app/api/test/route.ts------------
--------------------------------------------
在terminal用"npm run dev" 起來要查看個api (url : http://localhost3000/api/test)時
系統會出現一堆package沒安裝的訊息,這時,別傻傻地一個一個安裝(因為knex 依賴的套件如果沒有特別指定.會是所有的db都來一份的)
此時請到「next.config.ts」設定,因為我們這次用了knex操作postgresql,所以在serverExternalPackages中,加上「knex、pg」套件
--------------
---------------
總該可以測了吧,是的,你可以看到api如期工作
結果terminal一直在compiling....
然後系統就整個給你關機罷工去了!!! (連個error都不response.....)
雖然說「佛跳牆弄到爆炸是不允許的,應該要踢你出局,不過念在你有創意夠噱頭,還有2 分鐘再做一個吧!」,架構再怎麼好,會雄雄讓人怎麼死的都不知道是不行的
為什麼會這樣!?
因為最初那個test的route.ts比較小,一下子就compile (webpack)完成可用了
但是request「/」時,"如果沒有指定的話"是整個網站都compile
「那...我只想要compile需要的頁面的話,要如何指定?」
請到「package.json」做以下的修改
----
----
即,把script--> "dev":"next dev "改為"dev":"next dev --turbo"
存檔,就可以解決這個問題了
一起加油吧


0 個意見:
張貼留言
訂閱 張貼留言 [Atom]
<< 首頁