使用 Vue.js 和 Netlify CMS 建立無伺服器靜態網站。
這是一個基於 Nuxt v1.x 的入門模板,用於使用 Vue.js 和 Netlify CMS 建立靜態網站。它涵蓋的內容:
透過 Vue CLI 設定?
輕鬆設定一個幾乎空白的 Nuxt.js 專案。
目前尚未針對 Vue CLI v3.0 進行最佳化。
透過 Netlify CMS 進行內容編輯✏️
Netlify CMS 是一個客戶端 CMS,直接連接到 git 儲存庫來編輯 Markdown 檔案。
也支援其他檔案格式,但此範本僅適用於預設的 frontmatter markdown 格式。
透過 Nuxtent/Nuxtdown 模組在 Vue.js 中顯示內容?
Nuxtdown 模組(Nuxtent 的固定分支)可讓查詢內容並在 UI 中顯示。
透過 Nuxt.js 產生靜態站點✅
Nuxt.js 是建立通用 Vue.js 應用程式的著名框架,它產生一個靜態網站。
Nuxt.js + Netlify CMS 入門模板
配置
發展
生產
透過 FTP 手動部署
部署到 Netlify
與其他 CI 解決方案一起部署
先決條件
設定
用法
已知問題
貢獻
確保安裝了node 8.0+
和npm 5.0+
您知道 Netlify CMS 和 Nuxt.js 是什麼。
透過 vue-cli 安裝:如果您使用較新版本的 Vue CLI,您可能需要安裝額外的軟體包才能使vue init
工作,因為此範本尚未針對較新的 Vue CLI 進行最佳化。
$ vue init renestalder/nuxt-netlify-cms-starter-template my-project $ cd 我的項目 # 安裝依賴項$ npm install # 或yarn install
將專案推送到 git 儲存庫:為了能夠編輯內容,您需要將專案推送到 git 儲存庫。 CMS 始終直接連接到 git 儲存庫並編輯static/admin/config.yml
中設定的分支上的內容。
很好,您已經完成了開始的重要步驟。現在,為您的基礎架構正確配置所有元件。
CMS 身份驗證和模型配置儲存庫的託管位置以及 CMS 使用者如何登入以編輯內容。也可以為您的內容定義文件和欄位。
檔案: static/admin/config.yml
文件:Netlify CMS 官方文件 -> 配置
路由與查詢
開箱即用的 UI 不知道內容儲存在哪裡以及哪些動態路由屬於哪些內容。 Nuxt.js 預設只能映射靜態頁面。不會偵測到動態路由,例如具有不同檔案名稱的部落格文章。此配置由 Nuxtdown 進行。
文件: nuxtdown.config.js
文件:Nuxtdown 自述文件
一般網站訊息
HTML <head>
標籤和頁面標題等一般資訊是透過 Nuxt.js 設定的。不用擔心 Nuxt.js 的路由配置,這個問題可以透過 Nuxtdown 解決。
檔案: nuxt.config.js
文件:Nuxt.js 官方文件 -> 配置
在開發過程中,運行應用程式的客戶端 SPA 版本。使用dev
或serve
任務,無論哪種方式更適合您。他們也這樣做。
# 在 localhost:3000$ 進行熱重載服務 npm run dev
前往 http://localhost:3000
對於生產,產生靜態站點。
# 產生靜態項目$ npm rungenerate
為了使其在生產伺服器上運行,建置需要知道網站將運行的最終 url/網域。為此,您可以編輯package.json
中的npm generate:manual
任務並設定生產 URL。當您手動部署網站時,這非常有用:
# 產生一個靜態項目,該項目將託管在 package.json 中給出的 URL 上$ npm rungenerate:manual
產生的專案的資料夾將包含一個netlify-example.toml
文件,您可以將其重新命名為netlify.toml
以開始 Netlify 部署。它會根據您的 Netlify 配置和部署類型(生產部署、分支部署、預覽部署)自動設定BASE_URL
。因此無需在package.json
中設定生產 URL 。
如果您使用其他 CI 解決方案,則始終必須確保環境變數BASE_URL
設定為網站將執行的 URL。像 GitLab 這樣的工具可讓您在專案設定中設定環境變量,並讓您可以輕鬆地使用您想要的任何方式來部署專案。
不適用於 Nuxt v2.3.0 及更高版本:Nuxt v2.3.0 中存在一些與 Nuxtdown/Nuxtent 不相容的變更。這就是為什麼版本目前固定為 v2.2.x。
如果您有興趣為此專案做出貢獻,請參閱 CONTRIBUTING.md