vercel是我用過的最好用的網站託管服務。本網站就是基於hexo引擎模板開發,託管在vercel上的。html
vercel相似於github page,但遠比github page強大,速度也快得多得多,並且將Github受權給vercel後,能夠達到最優雅的發佈體驗,只需將代碼輕輕一推,項目就自動更新部署了。node
vercel還支持部署serverless接口。那表明着,其不只僅能夠部署靜態網站,甚至能夠部署動態網站,而這些功能,通通都是免費的,簡直是白嫖黨的福利啊!!!!!git
vercel還支持自動配置https,不用本身去FreeSSL申請證書,更是省去了一大堆證書的配置,簡直是懶人的福利啊啊啊有木有!es6
vercel目前的部署模板有31種之多,我沒有所有用過。接下來,我將介紹其中的兩種。github
關於hexo的怎麼用能夠前往hexo官網瞭解mongodb
首先,咱們須要申請一個本身的域名,本網站的域名i-tech.tech是在萬網上購買的,其餘人能夠自行選擇域名提供商typescript
點擊卡片上的粗黑色的標題(上圖中的"my-story")進入配置界面,該界面,有4個菜單,咱們點擊Settings->Domains,並在輸入框中填入想設置的域名,點擊Add按鈕shell
Add以後,可能會看到下圖中的樣子,彆着急,還須要配置一下咱們的域名,設置一下解析數據庫
接下來就能夠經過咱們設置的域名(如https://case.i-tech.tech)訪問咱們的網站了,一個簡單的Hexo項目就部署完成了!express
須要更新網站,只須要往github上提交新的commit,vercel就會自動從新構建了!完美!!!!
有人可能會問了。能部署api還不行啊,沒有數據庫啊。身爲一個混跡江湖多年的白嫖黨,請跟我繼續往下走~
https://cloud.mongodb.com提供512M免費的MongoDB存儲額度,做爲我的網站使用足夠了,固然還有其餘的免費數據庫,如db4free.net、mlab.com等各位各取所需。瞭解更多能夠訪問免費在線 MySQL/PostgreSQL/MongoDB/Redis 數據庫雲服務合集瞭解
我是以爲https://cloud.mongodb.com最好用,因此,本文中我只介紹它的使用方式。
萬事具有,只差Api,開啓Serverless Api開發之旅
使用npm init給當前目錄添加一個package.json文件
登陸vercel,在終端輸入如下命令,回車以後會讓你輸入郵箱,填完郵箱後,vercel會向該郵箱發送一個連接,點擊該連接確認登陸
vercel login
vercel
{ "routes": [ { "handle": "filesystem" }, { "src": "/(.*)", "status": 404, "dest": "/welcome.html" } ] }
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>熱烈歡迎!</title> </head> <body> <h1>大寫的歡迎!</h1> </body> </html>
vercel
npm i typescript npm i express npm i @vercel/node -D npm i babel-register -D npm i babel-plugin-transform-es2015-modules-commonjs -D
{ "compilerOptions": { "target": "es6", "module": "commonjs", "emitDecoratorMetadata": true, "experimentalDecorators": true, "sourceMap": true, "noEmitHelpers": false }, "exclude": [ "node_modules", "typings/main", "typings/main.d.ts", "typings/browser", "typings/browser.d.ts" ], "compileOnSave": true }
TZ='asia/shanghai'
import { NowRequest, NowResponse } from '@vercel/node'; module.exports = async (req: NowRequest, res: NowResponse) => { var data = { msg: "hello world!" } res.status(200).json(data); }
npm i mongodb npm i @types/mongodb -D
import { NowRequest, NowResponse } from '@vercel/node'; import { MongoClient } from 'mongodb' const CONNECTION_STRING = "mongodb+srv://huangkemeng:[yourpassword]@clusterblog.engmb.azure.mongodb.net/admin"; module.exports = async (req: NowRequest, res: NowResponse) => { const client = await MongoClient.connect(CONNECTION_STRING, { useNewUrlParser: true, useUnifiedTopology: true }); const db = await client.db('[hkm-story]'); var result = await db.collection("[northwind]").find().toArray(); res.status(200).json(result); }
關於更多關於vercel的介紹了,能夠郵件聯繫我,好比該serverless的調試等,篇幅太長,這裏就再也不贅述!。End!
轉載自葉子的博客