AWS Amplify предлагает целый набор инструментов, которые могут облегчить вашу жизнь как разработчика. Один из таких инструментов находится в консоли Amplify. Он позволяет вам развертывать приложения и размещать их с помощью Amplify, что означает, что ваши пользователи могут получить доступ к результатам вашего труда, посетив URL-адрес, который он генерирует 🏋

В этом руководстве мы развернем интерфейсное веб-приложение в AWS Amplify. Вы спросите, почему только интерфейсное приложение, а не приложение с полным стеком? Что ж, иногда вам может потребоваться развернуть и разместить только интерфейс вашего приложения, а не всю внутреннюю часть. Например, при работе с клиентами проект часто основан на вехах. Часто один из этих этапов состоит из создания только внешнего интерфейса приложения, а конечным результатом этого этапа является размещенное интерфейсное приложение. Это позволяет вам предоставить клиенту URL-адрес, который он может посетить, чтобы проверить конечный результат разработки внешнего интерфейса приложения.

Это стало возможным с Amplify, потому что вы можете развернуть конкретную ветку из репозитория git. Когда интерфейсная часть создана и объединена с основной ветвью, вы можете оставить ее (вместо того, чтобы удалять ее), а затем указать AWS Amplify на эту ветвь. В результате будет развернут и размещен только код внешнего интерфейса, что позволит команде разработчиков продолжить работу над проектом и создать внутреннюю часть… надеюсь, сначала немного отдохнув 🛀🏿

В этом руководстве вы узнаете, как развернуть приложение в Amplify. Также есть несколько интересных ошибок, с которыми я столкнулся в конце, так что проверьте!

В этом руководстве предполагается, что у вас есть учетная запись AWS и интерфейсный проект, который вы готовы к развертыванию.

Развертывание AWS Amplify 🚀

Войдите в консоль Amplify, и вам будет представлен следующий интерфейс:

Мы используем GitHub в качестве репозитория, поэтому выбираем его. Нажмите «Продолжить», и вы будете перенаправлены на GitHub и попросите предоставить AWS Amplify разрешение на доступ к вашей учетной записи. Нажмите «Авторизовать», а затем введите свой пароль, чтобы продолжить.

Вам будет предложено выбрать репозиторий, а затем ветку, которую вы хотите развернуть. Нажмите «Далее», и вы попадете на следующий экран:

Убедитесь, что вы сняли флажок под надписью «Backend deployments», поскольку мы развертываем только интерфейсное приложение. Если вы прокрутите вниз, вы можете проверить настройки сборки и тестирования, а также настроить дополнительные параметры. После нажатия «Далее» вам будет предложено просмотреть ваше развертывание. Наконец, нажмите «Сохранить и развернуть», и вам будет показана сводка о ходе сборки:

Автоматический процесс от предоставления до проверки должен занять от 5 до 15 минут. По завершении вы можете щелкнуть URL-адрес и просмотреть свое приложение во всей красе! Более того, вы можете отправить эту ссылку своему клиенту, и он сможет поиграть с интерфейсом веб-приложения!

Ошибка 1 ⁉️

Я включил этот раздел, чтобы помочь другим в случае, если они столкнутся с теми же проблемами, что и я, поскольку все мы знаем, что ошибки могут быть невероятно раздражающими, когда вы не знаете, почему они возникают! Даже если эти ошибки вас не коснутся, вы можете узнать кое-что, что поможет вам в будущем.

Одна большая проблема, с которой я столкнулся, заключалась в том, что каждый раз, когда я пытался создать свое приложение в Amplify, он не мог скомпилировать и распечатать следующую ошибку:

Failed to compile.
./src/App.js
Cannot find file ‘./components/DisplayWrappers/NavBar/NavBar’ in ‘./src’.

Насколько мне известно, этот файл определенно существовал. Я мог видеть это в Finder, и когда я ввел путь в VS Code, автозаполнение помогло мне завершить его.

Чтобы попытаться изолировать эту проблему, первое, что я сделал, - это удалил все из оператора return компонента App, так что единственное, что было отображено, - это элемент «‹p› TEST ‹/p›«. Затем я попытался развернуть это. Это сработало, и я смог просмотреть свое приложение только со словами TEST на URL-адресе, который предоставил усиление.

Проведя небольшое исследование в Интернете, я нашел намек на свою проблему. Оказывается, Mac использует файловую систему без учета регистра (моя локальная машина - macOS), тогда как Linux использует файловую систему с учетом регистра (Amplify развертывается на машине Linux). Я понятия не имел об этом, но очень рад, что наткнулся на это!

Это означает, что в macOS эти два пути эквивалентны:

./home/friends и ./HOME/FRIENDS

но в Linux они не такие.

Некоторое время назад я изменил корпус одной из своих папок, и оказалось, что это было причиной проблемы. Я понял это с какой-то любезной помощью члена команды Amplify, Эрика Клеммонса, который предоставил мне эту ссылку :)

Https://www.hanselman.com/blog/GitIsCasesensitiveAndYourFilesystemMayNotBeWeirdFolderMergingOnWindows.aspx

Вот как я это исправил. Сначала я посетил свой проект на GitHub и проверил путь, по которому возникла ошибка. Оказалось, вот эта папка:

Как мы видим, корпус здесь отличается от вывода из журнала сборки. Решение заключалось в том, чтобы открыть корневую папку моего проекта в терминале, а затем cd в папку компонентов (она содержит мою папку DisplayWrappers). Я хотел переименовать папку displayWrappers в DisplayWrappers. Для этого я сделал следующее:

git mv displayWrappers DisplayWrappers_2
git mv DisplayWrappers_2 DisplayWrappers

Вы можете спросить, зачем нужен двухэтапный процесс, если это можно сделать за один (git mv displayWrappers DisplayWrapper`)? По какой-то причине git не позволял мне это сделать, поэтому мне пришлось сделать это в два этапа.

Это изменяет имя нарушающей папки с «displayWrappers» на «DisplayWrappers», последнее из которых указано в моих путях импорта и вызывало сбой сборки. Теперь, когда я развернул через Amplify, сборка прошла успешно!

Ошибка 2 ⛑

После того, как я решил первую ошибку, возникла огромная проблема… Как я уже говорил ранее, я развернул ветку под названием Front-end. Я завершил эту веху несколько недель назад и, как таковой, довольно долгое время работал над другой веткой. После внесения изменений в git, указанных выше в моей ветке Front-end, а затем переключения обратно на мою самую последнюю ветку, он больше не будет компилироваться на моем локальном компьютере. Я получал единственную бессмысленную и бесполезную ошибку в компиляторе:

syntax error: unexpected "!"

Бесполезно… Я догадался, что это, скорее всего, из-за изменения файла в git. Чтобы исправить это, в моей новой ветке оформления заказа, которая не работала, я повторил вышеупомянутые команды git. Затем я начал получать ошибки о том, что определенных узловых модулей не существует. Я использовал старый метод «удалить папку node_modules и package-lock.json и запустить npm install». Это исправило!

Большое спасибо за чтение этой статьи! Надеюсь, это помогло, и, пожалуйста, подписывайтесь на меня в Твиттере :)



👋