Nuxt3
SSR
iisnode
筆記
Server-side rendering
要在 Windows Server 部署 Nodejs 這個流程,
之前一直踩非常多的坑到最後的棄坑改用 Static Mode(Nuxt2 時期)
網路上的很多文章都是教學用 PM2 在 Windows 的部署
但因為還是比較熟悉 IIS 的操作,到了近期 Nuxt3 的推出,又重燃一次用 iisnode 部署的研究
最後,在卡了好幾天後有順利的做出,下面就對這個流程做一些說明
請依下面的順序安裝這幾個工具
我參考了網路非常多的文章 will 保哥(next.js)、Leo(angular)。
參考時做完之後會一直Nuxt3這個專案會跳出不支援 ES6 Module Import 的錯誤
針對這個問題在找了很久之後,查到有一個作者發佈一篇處理流程
針對以上的參考文章,我整理一下覺得比較正確的流程
需要部署到 iisnode 的檔案都會在 .output 資料夾內
應用程式集區要跟 .net core 一樣選擇 "沒有受控程式碼",讓應用程式交由 iisnode 託管
新增一支 server.js 檔案,讓這支 js 載入 SSR Server 的入口檔案
並將 server.js 交給 iisnode 託管
將訪問到這站台的 Request,都交由 node.js 的 server.js 託管
DynamicContent 那一條 rule
這樣的部署方式就不需要改動 .output 的任何檔案,經過我的測試也適用 angular 的 SSR 模式
這邊附上我實作這個流程的 Source Code
docker 的使用目前越來越盛行,裡面也一併做了相關的設定檔
可以參考 dockerfile、ecosystem.config.js(PM2執行設定檔)