Netlify簡介

Netlify是一個部署前端網頁的好選擇,光是免費方案就有100GB可以使用,一個帳號可以部署多個網站,在全球多處都有伺服器可以加速。網站可以自己設定Netlify的子網域名稱,也可以使用自己的網域名稱指向Netlify。不管使用Netlify的子網域還是自己買的網域,都能幫你配置免費的Let’s Encrypt的SSL憑證。

教學

路由原理

傳統網頁不同頁面的路徑是伺服器處理,通常會對應伺服器上的資料夾與檔案,或是將對應方式寫在後端的網頁語言中。在單頁式網頁中這個狀況開始改變。伺服器一開始就將大部分的內容都先傳給瀏覽器,然後瀏覽器再透過網頁的JavaScript解析路徑顯示頁面,因此頁面的路徑不是真的存在於Netlify上,讓Netlify無法處理。

設定重點

設定的重點在於你上傳的網站資料的根目錄要有一個文字檔案,名為_redirects(沒有副檔名),裡面輸入以下內容。

/*    /index.html   200

代表任何找不到的路徑都以/index.html來開啟,這樣就可以將剩下的事情交給React Router的BrowserRouter來處理囉。

如果使用Angular或Vue.js寫單頁式網頁(SPA)也可以透過這種方式來讓Angular或Vue.js可以正確處理頁面路由喔。

使用Parcel打包的方式

Parcel打包的時候沒辦法複製靜態檔案到dist資料夾,可以透過Parcel的外掛解決。首先在專案根目錄新增一個static資料夾,在裡面存放上面提到的_redirects檔案以及內容,剩下的部分我寫在Blog上的另一篇教學囉。