Nuxt 實踐

feiben發表於2018-04-09

最近一直在使用 Vue 做專案,一直寫業務,時間長了沒有太多成就感。然後自己就想做一個個人部落格玩一玩(繩命在於折騰),瞭解一下介面開發,專案部署等等。所有東西做下來確實學習到了不少東西。

預覽地址

服務端渲染:http://202.5.16.37

非服務端渲染:http://202.5.16.37:8888

管理後臺:http://202.5.16.37:8080

介面開發

一開始打算先去學習 go 語言再來開發,但是中途在 Github 上看到一個部落格專案 ‘elapse’ 做的還挺好的,就去看一下服務端的原始碼。發現用 Node + koa + mongodb 寫的,看起來也不是很難,於是我就開始照葫蘆畫瓢,按照自己的需求開發自己的業務。寫介面還算比較快,遇到的問題像跨域、token 在 elapse 都可以找到解決辦法,在這裡我也不再贅述了。我的服務端的原始碼在此、介面文件,寫的不好,有時間再重構。

前端頁面開發

之前所有的專案都是用 Vue 開發,所以這個前端頁面對於我來說算是小菜,沒太大的挑戰,很快就開發完了,但是用 Vue 開發的後果就是 SEO 不好,滑鼠右鍵顯示頁面原始碼看下效果

Nuxt 實踐

可以看到 body 標籤裡面就一個空的 div 以及其他的 script 標籤,這就是國內搜尋引擎看到的效果,完全不知道你想要顯示什麼東西。因為頁面上的東西都是這個空白頁出來之後再去載入的。比如有個使用者上次看了你的一片文章,但是沒有收藏,只是記得部分內容,想要從搜尋引擎中搜的話,基本是不可能的了。原始碼在此(公司的專案都是外包,效果出來了就好了,沒有人去在乎什麼 SEO, 噓,小聲點!)。出於學習的目的,這個前端頁面我覺得還是要用 Nuxt 重構一下。先看下效果對比一下,頁面內容很多,只擷取了一部分。

Nuxt 實踐

這下搜尋引擎就能讀取到頁面的內容,使用者頁可以搜尋到了。對於沒有接觸過 Nuxt 的童鞋,我建議還是先看下官方文件,我遇到的很多問題基本在常見問題中都可以找到答案。部署的問題,文件寫的是

服務端渲染應用部署 部署 Nuxt.js 服務端渲染的應用不能直接使用nuxt命令,而應該先進行編譯構建,然後再啟動 Nuxt 服務,可通過以下兩個命令來完成:

nuxt build
nuxt start
複製程式碼

然後我在伺服器上執行的時候就可以訪問,一斷開 ssh 連線,服務也就掛了。然後我在網上查詢關於 Nuxt 部署的問題,看到很多人還以為和非服務端渲染一樣,要打包之後用 ftp 上傳到伺服器再用 nginx 方向代理。 需要注意的是 Nuxt 服務端渲染也是一個 Node 應用 ,所以還是和服務端程式碼一樣使用 pm2 開啟服務,命令如下 pm2 start npm -- start,服務端渲染原始碼在此,如果你想在本地開發,可以修改assets/config.js來修改頁面配置。

管理後臺

因為只是我自己在用的,所以並沒有用 Nuxt 重構,原始碼在此

如果文章對你有所幫助,那麼請您點一下❤ 由於本人水平有限,如有錯誤,歡迎大家指正。如果你在操作過程中發現一些沒有講到的錯誤或者問題,歡迎在評論留言,一起探討,共同學習進步!

相關文章