Zeit Now Учебное пособие

Узнайте, как использовать платформу 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.

Совет: если вам не нужен / не нужен настольный клиент, вы также можете просто установитьnowCLI с помощью команды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: