Узнайте, как использовать платформу Now, созданную Zeit
Zeit теперь называетсяVercel, и это руководство может быть устаревшим
Один из самых простых способов развернуть приложение Node.js - использоватьСейчас жеплатформа созданаZeit.
Теперь 2 был запущен недавно. Это руководство посвящено этому. Есть много отличий от Now 1,выделено в этом посте.
Теперь этап развертывания и распространения приложения становится очень, очень простым и быстрым. Вы можете думать об этом как об «облаке», поскольку на самом деле не знаете, где будет развернуто ваше приложение, но вы знаете, что у вас будет URL-адрес, по которому вы сможете получить к нему доступ.
Вы можете использовать Now для развертывания приложений Node.js, статических веб-сайтов и многого другого.
Теперь не только поддерживает Node.js (также Go, PHP, Python и другие языки), но в этом руководстве я просто рассмотрю эту технологию.
Теперь можно бесплатно начать использовать с щедрым бесплатным планом, который включает бесплатный SSL, 100 ГБ хостинга, 1000бессерверныйвызовов функций в день, 1000 сборок в месяц, 100 ГБ полосы пропускания в месяц и использование глобальногоCDN. Встраница с ценамипомогает получить представление о затратах, если вам нужно больше.
Установка
Лучше всего установитьТеперь рабочий стол, который вы можете скачать сhttps://github.com/zeit/now-desktop. ЭтоЭлектронприложение, которое также устанавливаетТеперь CLI, инструмент, который мы будем использовать позже.
Благодаря этому вы можете развертывать приложения, используя простой интерфейс перетаскивания, что очень удобно!
Совет: вы также можете просто установить командную строку, если хотите, изhttps://zeit.co/download
После запуска введите свой адрес электронной почты, и теперь вы продолжите аутентификацию, отправив вам письмо с подтверждением.
После входа в систему вы можете следовать краткому руководству:
После прокрутки нескольких экранов приложение перемещается в строку меню, и при нажатии на нее отображается лента активности:
Как вы можете видеть на этом изображении, я установил Now несколько месяцев назад с этой учетной записью электронной почты, но мало что сделал с ней.
После входа в настольное приложение приложение командной строки вызвалоnow
также автоматически входит в систему.
Перейти вТерминал, и бегиnow
.
Совет: если вам не нужен / не нужен настольный клиент, вы также можете просто установить
now
CLI с помощью командыnpm install -g now
. Затем вы перейдете к входу в систему, используяnow login
.
Развертывание приложения прямо сейчас
В качестве «приложения» мы можем просто представить себе простой HTML-файл или сложное приложение с множеством шагов сборки.
Каким бы ни было ваше приложение, вы можете запустить
now
в папке, и эта папка будет загружена в облако.
С одной оговоркой: папка должна содержатьnow.json
файл с (как минимум) этим содержимым:
{
"version": 2
}
to make sure the projects runs on Now 2.
Как только вы запуститеnow
программа развертывается по случайному URL-адресу подnow.sh
домен. В данном случае этоhttps://test-8h57iozp1.now.sh
и я только что развернулindex.html
файл с<p>test</p>
в его содержании:
После развертывания приложение Now Desktop отображает это действие.
Если вы сейчас измените содержимое этого файла index.html и снова запуститеnow
вы получитедругой URLдля вашего приложения.
Это могло быть неожиданно, правда? Раньше это былоtest-8h57iozp1.now.sh
, теперь этоtest-m2vcwrsc8.now.sh
. Иоба URL доступны. Почему?
Ожидаемое поведение должно заключаться в том, что старый URL-адрес обновляется новым содержимым, но это не так.
Теперь это понятиенеизменностьу этого есть много преимуществ, включая возможность тестирования нескольких выпусков одновременно, несколько разработчиков, работающих над разными частями приложения, откаты и многое другое.
В производственной среде или когда вы хотите поделиться своим приложением, вам понадобится фиксированный URL-адрес. Он не может меняться каждый раз, когда вы его обновляете, верно? Для этого вы создаетепсевдоним:
now alias test-m2vcwrsc8.now.sh test-flavio
После того, как вы запустите эту команду,test-flavio.now.sh
укажет на это развертывание.
Каждый раз, когда вы хотите обновить развертывание, на которое указывает этот псевдоним, вы снова запускаете команду. Таким образом, вы можете свободно тестировать новые выпуски, и когда вы соглашаетесь сделать его официальным, вы обновляете псевдоним.
То же самое и для отката к предыдущему развертыванию, вы просто используете псевдоним старого уникального URL-адреса развертывания.
Чтобы удалить развертывание, запуститеnow rm <URL>
:
now rm test-m2vcwrsc8.now.sh
Настроить лямбда-функцию
Мы можем запустить приложение Node.js по запросу при посещении определенного URL-адреса.
Например, добавьтеtest.js
файл с таким содержанием:
module.exports = (req, res) => {
res.end(`Hi!`)
}In order to make it executable, we must add a build step to now.json
:
{
"version": 2,
"builds": [{ "src": "test.js", "use": "@now/node" }]
}
Head to https://test-a0onzajf4.now.sh/test.js to see the result (“Hi!”)

The curious thing is that now the index.html
file does not load any more like before. This is because the default build step is overwritten, so we need to add one to fix this:

Add the line { "src": "index.html", "use": "@now/static" }
to our build:
{
"version": 2,
"builds": [
{
"src": "test.js",
"use": "@now/node"
},
{
"src": "index.html",
"use": "@now/static"
}
]
}

Where to go from here
There’s lots more to find out about Now, but this tutorial will hopefully get you started in the right direction.
Some useful resources for you are
More services tutorials:
- How to start with Firebase Hosting
- A tutorial to host your Static Site on Netlify
- Code Linters and Formatters for Web Developers
- Auto trigger deploys on Netlify
- Glitch, a great Platform for Developers
- Airtable API for Developers
- How to authenticate to any Google API
- Zeit Now Tutorial
- Netlify Lambda Functions Tutorial
- How to use Firebase Firestore as your database
- How I fixed the trailing slash in Netlify rewrites
- How to access query parameters in Netlify functions
- How to use environment variables in Netlify functions
- How to use npm packages in Netlify Functions
- How to create your first VPS on DigitalOcean