在vercel上部署golang代码
Easul Lv6

在 vercel 上部署 golang 的项目需要进行以下操作

  1. 安装全局命令行工具
折叠代码块BASH 复制代码
1
npm install -g vercel --registry https://registry.npmmirror.com
  1. 使用 vercel 进行登录
折叠代码块BASH 复制代码
1
vercel login
  1. 创建 vercel 的相关开发目录,以下为相关目录的说明
折叠代码块BASH 复制代码
1
2
3
4
5
6
7
8
9
10
├── .vercelignore   vercel的ignore文件
├── api vercel的请求入口目录(必须)
│ └── tool.go 自定义的一个vercel请求入口文件
├── go.mod go的模块管理文件
├── go.sum go的模块验证文件
├── main.go go项目的默认入口文件
├── README.md
├── mysite 自己的相关模块
│ └── web.go
└── vercel.json vercel的配置文件(必须)

下边将依次展示必备文件的写法

vercel.json,这里只展示了路由的相关配置,表示带有 /api/ 前缀或者任意前缀的请求都将分发到 /api/tool.go 文件中。

折叠代码块JSON 复制代码
1
2
3
4
5
6
7
8
9
10
11
12
{
"routes": [
{
"src": "/api/.*",
"dest": "/api/tool.go"
},
{
"src": ".*",
"dest": "/api/tool.go"
}
]
}

tool.go 文件,用于接收 API 请求。

折叠代码块GOLANG 复制代码
1
2
3
4
5
6
7
8
9
10
11
12
package api

import (
"net/http"
)

// 这里的函数名称无所谓,只需要参数列表相同即可。
// 通过这里的 request 和 response 就可以对 传入的请求 和 返回的响应 进行处理了
// 内部可以再调用其他包的相关方法
func Tool(w http.ResponseWriter, r *http.Request) {

}

除了这两个文件,还需要介绍一下 .vercelignore
该文件和 .gitignore 功能相同,只不过是为了在将项目推送到 vercel 时忽略掉不需要上传的文件。
如果目录下文件特别多,可以用如下方式,先用 /* 忽略掉所有文件,然后用 !文件名!文件夹名 来指定哪些文件或文件夹需要上传。

折叠代码块BASH 复制代码
1
2
3
4
5
6
/*
!api
!mysite
!go.mod
!go.sum
!vercel.json
  1. 环境创建好,且相关代码编写好后,可以使用如下方式进行 调试部署
折叠代码块BASH 复制代码
1
2
3
4
5
# 指定 vercel 项目在本地 8080 端口下进行调试运行
vercel dev --listen 8080
# 将项目推送到 vercel
# 如果是第一次推送可以不加 --prod ,后边进行更新推送时,则需要添加
vercel --prod

如果还有相关其他问题,可以参考 vercel官方文档

 评论
来发评论吧~
Powered By Valine
v1.5.2