Бессерверная версия приложения с Vercel
- используйте
vercel.json
для объявления времени выполнения и маршрутов, которые вы хотите использовать в своем приложении. Как правило, это будет один маршрут во время выполнения, но vercel поддерживает такжеruby
,golang
,python
иnodejs
{
"builds": [
{
"src": " **/*.html",
"use": "@now/static"
},
{
"src": "** /*.py",
"use": "@now/python"
},
{
"src": " **/*.js",
"use": "@now/node"
},
{
"src": "** /*.go",
"use": "@now/go"
}
],
"routes": [
{
"src": "/",
"dest": "public/index.html"
},
{
"src": "/py",
"dest": "api/hello.py"
},
{
"src": "/flask",
"dest": "api/flask.py"
},
{
"src": "/ping",
"dest": "api/ping.py"
},
{
"src": "/js",
"dest": "api/hello.js"
},
{
"src": "/go",
"dest": "api/app_go.go"
}
]
}
- создайте каталог с именем
api
. Это место, где будут находиться ваши обработчики маршрутов. Файлы простой и сложной логики вjs
,go
,py
илиrb
. Примеры логики приведены ниже.
hello.py
from http.server import BaseHTTPRequestHandler class handler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('Content-type','text/plain')
self.end_headers()
message = 'Hello from Python from a Serverless Function!'
self.wfile.write(message.encode())
return
hello.js
module.exports = (req, res) => {
res.json({
body: req.body,
query: req.query,
cookies: req.cookies
})
}
- в случае, если вы используете
modules
/packages
, вы можете объявить то же самое вrequirements.txt
файле (дляpython
) иpackage.json
(дляnodejs
)
Run в среде development
- функция run –
vercel dev
nodejs
: функция действует вhttp://localhost:3000/js
python
: функция действует вhttp://localhost:3000/py
Если это кажется слишком низкоуровневым, у вас также могут быть такие модули, как bottle
, flask
для работы с сервером с меньшим кодом python
(установить модули локально, настроить venv
и установить flask
(pip install flask
) и соответствующим образом изменить код. Пример показан ниже)
flask.py
from flask import Flask, Response
app = Flask( __name__ )
def catch_all(path):
return Response("<h1>Flask</h1><p>You visited: /%s</p>" % (path), mimetype="text/html")
Также обратите внимание, что вы можете писать код на rust, deno, php и т.д. с помощью времени выполнения, построенного сообществом.
Run в stage или в prod среде
- Запустите
vercel
илиvercel -- prod
чтобы получить доступ к конечным точкамinternet
в своей учетной записиvercel
.
+1
1
+1
+1
+1
+1