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!
转载自叶子的博客