注意:Gatsby V2版本安裝及使用問題請移步《Gastby V2安裝過程當中常見問題》,此文較舊,主要針對V1版Gatsby而介紹javascript
一直以來都是用以前比較流行的靜態網站生成器Hexo加Markdown來更新本身的靜態站博客。偶然的機會,遇到了又一靜態網站生成神器Gatsby ,直接迷上了,根本停不下來,原來靜態網站還能夠用react來寫,組件化的思想解放了咱們對靜態網站的想象空間,讓咱們更新網站的方式直接上了一個檔次。css
費話很少說,先上一張用Gatsby製做的靜態網站的效果圖,點我查看在線效果html
什麼是Gatsby? 官方介紹爲Blazing-fast static site generator for React(用於React的超快靜態站點生成器)。前端
再也不爲web技術落後而頭痛。享受最新Web前端技術的強大功能--React.js,Webpack,現代JavaScript和CSS等等,全部這一切都將啓動並等待您的開始。java
使用你自定義的數據。Gatsby豐富的數據插件生態系統容許您使用您想要的數據構建網站 - 來自一個或多個來源:使用GraphQL將數據從無頭CMS,SaaS服務,API,數據庫,文件系統等更直接地導入您的頁面。node
輕鬆發佈到互聯網。Gatsby.js是互聯網化的。 你能夠不用理會數據庫和服務器的複雜部署,以及昂貴,耗時的設置成本,維護和縮放恐懼。 Gatsby.js將您的網站構建爲「靜態」文件,能夠輕鬆部署在數十種服務上。react
使您的網站面向將來。不要用過去十年的技術創建一個網站。 網絡的將來是移動的,JavaScript和API - JAMstack。 每一個網站是一個Web應用程序,每一個Web應用程序是一個網站。 Gatsby.js是你一直在等待的通用JavaScript框架。git
靜態漸進式Web應用程序。Gatsby.js是一個靜態PWA(Progressive Web App)生成器。 您能夠將代碼和數據分開。 Gatsby只加載關鍵的HTML,CSS,數據和JavaScript,以便您的網站加載儘量快。 一旦加載,Gatsby預取其餘網頁的資源,因此點擊網站感受很是快。github
超越競爭。Gatsby.js創建最快的網站。 不須要等待請求時生成頁面,而是預先生成頁面,並將其提高到全球服務器雲端 - 隨時隨地傳送給用戶,不管他們身在何處。web
不管數據來源如何,Gatsby均可以讓您使用您的數據構建閃電般的網站。 從之前遺留的CMS中解放您的網站,並將飛向將來。
注意:下面代碼由於結合了React,javascript使用的是ES6,需預裝node.js並會用了npm或者yarn用做依賴包管理,不熟悉的話自行惡補基礎
npm install --global gatsby-cli
gatsby new helloworld
執行完命令後,目錄下會自動建立了helloworld項目文件夾和相應的項目文件,其目錄結構以下:
(注意:上面步驟默認使用了 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等等豐富的模版來建立新的網站應用項目。點擊查看更多)