关于程序员:教你如何使用vercel服务免费部署前端项目和serverless-api

8次阅读

共计 2858 个字符,预计需要花费 8 分钟才能阅读完成。

一、介绍一下 vercel

vercel 是一个站点托管平台,提供 CDN 减速,同类的平台有 NetlifyGithub Pages,相比之下,vercel 国内的访问速度更快,并且提供Production 环境和 development 环境,对于我的项目开发十分的有用的,并且反对继续集成,一次 push 或者一次 PR 会自动化构建公布,公布在 development 环境,都会生成不一样的链接可供预览。

然而 vercel 只是针对个人用户收费,teams是免费的

首先 vercel 零配置部署,第二访问速度比 github-page 好很多,并且构建很快,还是收费应用的,对于部署集体前端我的项目路、接口服务十分不便

  • vercel相似于 github page,但远比github page 弱小,速度也快得多得多,而且 将 Github 受权给 vercel后,能够达到最优雅的公布体验,只需将代码微微一推,我的项目就自动更新部署了。
  • vercel还反对部署serverless 接口。那代表着,其不仅仅能够部署动态网站,甚至能够部署动静网站,而这些性能,通通都是收费的
  • vercel还反对主动配置 https,不必本人去FreeSSL 申请证书,更是省去了一大堆证书的配置
  • vercel目前的部署模板有 31 种之多

二、起步

关上 vercel 主页https://vercel.com/signup

应用 GitHub 账号去关联 vercel,后续代码提交到vercel 能够主动触发部署

呈现受权页面,点击Authorize Vercel

三、部署 Hexo 博客

vercel 是最好用的动态站点托管平台,借助 vercel 平台,咱们能够把博客动态文件部署到 vercel 上,不在应用 GitHub pages 托管,vercel 比 GitHub pages 快多了。

抉择一个 vercel 提供的模板部署,当然你也能够把代码提交到 GitHub 上,再去 vercel 抉择即可

创立一个 GitHub 我的项目,代码会主动在 GitHub 账号上创立

创立实现后,期待 vercel 构建

创立胜利后主动跳到主页


点击 visit 即可拜访创立好的服务 https://hexo-seven-blush.verc…,vercel 会调配给咱们一个默认的域名,当然你也能够自定义批改。

咱们能够查看打包日志,如果构建过程呈现问题,在这里看即可

点击view domain 绑定自定义域名

而后咱们去域名解析解决解析 CNAMEcname.vercel-dns.com

最初解析实现,拜访 hexo.poetries.com 自定义域名即可。到此咱们把博客 hexo 我的项目部署到 vercel 上,前期当你在 GitHub 提交代码会主动触发 vercel 打包构建

你也能够从 Github 抉择代码来创立我的项目

导入 GitHub 账号上的我的项目


部署 vue、react 等前端我的项目过程也相似,这里不再演示

四、部署 Serverless Api

vercel 部署Serverless Api,不购买云服务器也能领有本人的动静网站

简略演示部署 api 接口服务

配置vercel.json,更多配置在 vercel 官网查 https://vercel.com/docs

{
  "headers": [{"source": "/(.*)",
    "headers" : [
      {
        "key" : "Access-Control-Allow-Origin",
        "value" : "*"
      },
      {
        "key" : "Access-Control-Allow-Headers",
        "value" : "content-type"
      },
      {
        "key" : "Access-Control-Allow-Methods",
        "value" : "DELETE,PUT,POST,GET,OPTIONS"
      }
    ]
  }],
  "rewrites": [
    {
      "source": "/", // 重定向配置 拜访 / 根门路重定向到 /api/query-all-users
      "destination": "/api/query-all-users"
    }
  ]
}

创立接口,vercel 约定在 api 下创立接口门路 ,最初咱们能够通过 域名 /api/json 域名 /api/query-all-users来拜访接口服务,咱们这里创立了两个接口

// api/json.js
// req 接管所有申请信息,res 是响应信息
// 通过 module.exports 裸露进来
module.exports = (req, res) => {res.send('test')
}

咱们这里应用腾讯云数据库,把一些数据存到云数据库上

// utils/db.js

// 操作云数据库的包
const cloudbase = require('@cloudbase/node-sdk')

const app = cloudbase.init({
  env: "填入环境 ID", // 在腾讯云后盾创立环境 ID
  // 拜访该链接获取 secretId、secretKey 填入即可 https://console.cloud.tencent.com/cam/capi
  secretId: "",
  secretKey: ""
});

// 1. 获取数据库援用
module.exports = app.database();

拜访该链接获取 secretId、secretKey 填入即可 https://console.cloud.tencent…

来到腾讯云控制台,创立环境获取环境 ID

抉择 数据库 - 创立新的汇合 users

// api/query-all-users.js
// 查问腾讯云数据库用户记录
const db = require('../utils/db')
const _ = db.command

module.exports = async (req, response) => {let {name, pwd, size = 50} = req.query
  
  // 更多语法查看腾讯云数据库文档即可 https://cloud.tencent.com/document/product/876/46897
  let {total} = await db.collection("users").count()
  let pickField = {
    '_id': false,
    createAt: true,
    userName: true,
    address: true
  }
  let {data} = await db.collection("users")
  .field(pickField)
  .orderBy('createAt', 'desc')
  .limit(parseInt(size))
  .get()

  response.json({
    total,
    count: data.length,
    list: data
  })
}

这样咱们就写好了两个接口服务,提交代码到 GitHub 上,而后在 vercel 上创立我的项目导入 GitHub 上的代码部署即可,最初部署的服务通过 https:// 域名 /api/query-all-users?name= 小月 &size=100 拜访即可

作者介绍:小月,专一分享前端畛域进阶技能与技术干货,更多干货内容请看工宗好「前端进阶之旅」

正文完
 0