Yige

Yige

Build

搭建博客記錄

前言#

Node 環境準備#

推薦使用 NVM 管理 node 版本,倉庫地址:nvm
在安裝後,打開終端執行 node -vnpm -v,沒有報錯即為安裝成功

hexo 本地環境初始化#

首先安裝 hexo-cli npm install -g hexo-cli
上面的代碼為全局安裝,如果對 npm 比較熟悉,可以把 - g 刪掉,使用局部安裝

安裝以後,可以使用以下兩種方式執行 hexo:npm hexo <command>
或者將 Hexo 添加到環境變量之中即可直接使用 hexo <command>

首先在命令行中輸入 npm root -g 查看全局安裝的目錄
然後將該目錄下的 node_modules\hexo-cli\bin 目錄添加到環境變量 PATH 中
之後使用 hexo version 檢查是否成功

本地建站#

執行下面的命令,會自動創建 <folder>目錄並下載代碼,我們假定目錄為 blog

hexo init <folder>
cd <folder>
npm i

執行後的指定文件夾目錄結構:

blog
├── _config.yml
├── package.json
├── scaffolds
├── source
|   ├── _drafts
|   └── _posts
└── themes
  • config.yml:網站的配置信息,可以在這裡配置大部分的參數,如果使用主題,根據主題去修改

  • package.json:應用程序的信息,hexo 及其一些插件的安裝版本信息都在這裡

  • scaffolds:模板文件夾,當您新建文章時,Hexo 會根據 scaffold 來建立文件,填充一些模板內容

  • source:資源文件夾是存放用戶資源的地方。除 _posts 文件夾之外,開頭命名為 _ (下劃線) 的文件 / 文件夾和隱藏的文件將會被忽略

  • themes:主題文件夾。Hexo 會根據主題來生成靜態頁面

最後執行

hexo clean	# 清除快取文件 (db.json) 和已生成的靜態文件 (public)。第一次建站可以不執行
hexo generate # 生成靜態文件。
hexo server # 啟動本地伺服器。默認情況下,訪問網址為: http://localhost:4000/。

vercel 部署#

  1. GitHub 上新建一個倉庫,然後將本地博客目錄文件同步至倉庫
git init
git add .
git commit -m "init commit"
git remote add origin [email protected]:xxx/blog.git
git push -u origin main
  1. 註冊 vercel 帳號 https://vercel.com/
  2. vercel 中導入自己的倉庫,然後一步步跟隨指示 depoly 部署即可

問題#

node 版本問題#

部署的時候報錯:

TypeError [ERR_INVALID_ARG_TYPE]: The "mode" argument must be of type number. Received an instance of Object
.....

因為 vercel 中默認 node 版本會比較高,需要注意是否和當前 hexo 環境兼容 Node.js 版本限制

Node 升級#

因為之前用的nvm,就比較簡單,

nvm ls-remote
nvm install --lts     #安裝最新的lts版本吧,比較推薦
nvm ls                #查看現在安裝的哪些版本
nvm uninstall v8.12.0 #找到舊的版本刪除掉吧

Hexo 的升級#

  1. 全局升級 hexo-cli
  2. 使用npm-check,檢查系統中的插件是否有升級的。
  3. 使用npm-upgrade,升級系統中的相關插件。
  4. npm update -g,檢查升級 npm 本身。
npm install -g hexo-cli
hexo version

npm install -g npm-check
npm-check

npm install -g npm-upgrade
npm-upgrade

npm update -g
npm install -g npm

hexo clean #清理hexo數據並重新生成頁面並部署
hexo g -s
hexo d

vercel 版本部署成功後,訪問頁面空白#

  • 檢查所配置的主題是否有效
  • 主題文件,也就是 theme 目錄下的主題配置文件夾,是否上傳至 github 倉庫
  • 如果需要刪除主題重新拉取,記得保留配置文件
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。