Gatsby上手指南 - 讓你的靜態網站用react來高逼格的寫


注意:Gatsby V2版本安裝及使用問題請移步《Gastby V2安裝過程中常見問題》,此文較舊,主要針對V1版Gatsby而介紹

前言

        一直以來都是用之前比較流行的靜態網站生成器Hexo加Markdown來更新自己的靜態站博客。偶然的機會,遇到了又一靜態網站生成神器Gatsby ,直接迷上了,根本停不下來,原來靜態網站還可以用react來寫,組件化的思想解放了我們對靜態網站的想象空間,讓我們更新網站的方式直接上了一個檔次。

        費話不多說,先上一張用Gatsby制作的靜態網站的效果圖,點我查看在線效果

 

 

 

關於Gatsby

        什么是Gatsby? 官方介紹為Blazing-fast static site generator for React(用於React的超快靜態站點生成器)。

        不再為web技術落后而頭痛。享受最新Web前端技術的強大功能--React.js,Webpack,現代JavaScript和CSS等等,所有這一切都將啟動並等待您的開始。

        使用你自定義的數據。Gatsby豐富的數據插件生態系統允許您使用您想要的數據構建網站 - 來自一個或多個來源:使用GraphQL將數據從無頭CMS,SaaS服務,API,數據庫,文件系統等更直接地導入您的頁面。

        輕松發布到互聯網Gatsby.js是互聯網化的。 你可以不用理會數據庫和服務器的復雜部署,以及昂貴,耗時的設置成本,維護和縮放恐懼。 Gatsby.js將您的網站構建為“靜態”文件,可以輕松部署在數十種服務上。

        使您的網站面向未來。不要用過去十年的技術建立一個網站。 網絡的未來是移動的,JavaScript和API - JAMstack。 每個網站是一個Web應用程序,每個Web應用程序是一個網站。 Gatsby.js是你一直在等待的通用JavaScript框架。

        靜態漸進式Web應用程序。Gatsby.js是一個靜態PWA(Progressive Web App)生成器。 您可以將代碼和數據分開。 Gatsby只加載關鍵的HTML,CSS,數據和JavaScript,以便您的網站加載盡可能快。 一旦加載,Gatsby預取其他網頁的資源,所以點擊網站感覺非常快。

        超越競爭。Gatsby.js建立最快的網站。 不需要等待請求時生成頁面,而是預先生成頁面,並將其提升到全球服務器雲端 - 隨時隨地傳送給用戶,無論他們身在何處。

 

Gatsby如何工作

        無論數據來源如何,Gatsby都可以讓您使用您的數據構建閃電般的網站。 從以前遺留的CMS中解放您的網站,並將飛向未來。

 

 

Gatsby上手指南

注意:下面代碼因為結合了React,javascript使用的是ES6,需預裝node.js並會用了npm或者yarn用作依賴包管理,不熟悉的話自行惡補基礎

一、命令行安裝Gatsby開發環境

 npm install --global gatsby-cli 

二、使用Gatsby開發環境

  1. 創建一個新的網站項目,命令行定位到相應的目錄,helloworld是自定義的項目名稱。
     gatsby new helloworld 
    執行完命令后,目錄下會自動創建了helloworld項目文件夾和相應的項目文件,其目錄結構如下:
    • - helloworld
    •   - node_modules
    •   - public
    •   - src
    •         - layouts
    •                 - index.js  // 首頁布局
    •                 - index.css
    •         - pages
    •                 - index.js  // 首頁主頁內容
    •                 - page1.js // 內頁1內容
    •                 - page2.js // 內頁2內容
    •   - static // 所有其他靜態資源如圖片、樣式等都可以放此目錄
    •   - .gitignore
    •   - gatsby-browser.js
    •   - gatsby-config.js
    •   - gatsby-node.js
    •   - gatsby-ssr.js
    •   - LICENSE
    •   - package.json
    •   - README.md
  2. 執行 cd helloworld 定位到當前目錄
  3. 執行  gatsby develop ,此時Gatsby會自動啟動熱更新后台服務器,地址為:  localhost:8000 
  4. 自己可以嘗試修改  src/pages  目錄下的文件,保存后,會馬上熱更新到瀏覽器的頁面上。
  5. 執行  gatsby build ,此時Gatsby會在 public 目錄下構建生產環境用的優化過的靜態網站所需的一切靜態資源、靜態頁面與js代碼。如果要發布到自己的網站空間上,可以直接把此目錄下面所有東西(除.map為后續的文件名的文件)丟過去自己的空間。如果有用過hexo的朋友們應該會比較熟悉,目錄結構類似。
  6. 執行  gatsby serve , 此時Gatsby會啟動靜態網頁服務器供你測試剛才“gatsby build”生成的靜態網頁。

        (注意:上面步驟默認使用了 gatsby-starter-default 來創作網站應用項目,我們還可以選擇官方提供的 gatsby-starter-blog 和 gatsby-starter-hello-world 或者社區提供的 gatsby-starter-blog-no-styles、gatsby-material-starter、gatsby-typescript-starter、gatsby-starter-bootstrap和gatsby-blog-starter-kit等等豐富的模版來創建新的網站應用項目。點擊查看更多)

 

Gatsby實戰項目

A4紙網的開發 [ 在線demo ] [ 源代碼 ]

 

交流與學習

  1. 本文作者:Nelson Kuang,別名:Fast Mover  歡迎大家留言及多多指教
  2. Github地址:https://github.com/hiooyUI/hiooyui.github.io/tree/source
  3. 版權聲明:歡迎轉載學習 => 請標注信息來源於 http://www.cnblogs.com/fastmover/p/8317339.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM