Базовое введение в Node

Пример сути

Краткий обзор

Сети падают. Это одно из наиболее очевидных заявлений, которые я сделал в этом блоге. Бывают также случаи, когда у вас просто нет доступа к надежному интернет-соединению по какой-либо причине. Короче говоря, использование данных из Интернета приводит к возникновению факторов, которые вы не можете контролировать на сто процентов. Зная это, мы можем заранее начать смягчать последствия. Один из способов сделать это — хранить некоторые данные (скорее всего, в формате JSON) локально, чтобы их можно было вызывать всякий раз, когда может возникнуть необходимость. Это не обязательно должна быть целая база данных, достаточно, чтобы имитировать правильную функциональность. В этом посте я покажу вам, как создать простой сервер Node.js, который вы можете использовать для предоставления фиктивных данных вашему приложению.

Идея написать этот пост пришла мне в голову недавно, когда я переезжал. В месте, где я временно остановился, не было подключено к Интернету, и я слишком сильно превысил лимит данных по моему мобильному тарифному плану на месяц, и телефонная компания ограничивала мое соединение. Наличие сервера, отправляющего моему приложению «фиктивные данные», было бы быстрым решением для моей ситуации. Даже если у вас нет конкретной причины прямо сейчас, работа с узлом — это полезный навык, который может оказаться полезным для вас в будущем.

Начнем… с установки

Если на вашем компьютере не установлен узел, вам следует сделать это сейчас, потому что в противном случае вы не сможете запустить сервер узла. Вы можете установить узел с помощью менеджера пакетов Mac Homebrew. Когда вы установили Homebrew, выполните следующие команды:

узел установки brew

Настраивать

Для начала давайте создадим каталог нашего сервера и добавим файл индекса нашего сервера и файл JSON.

mkdir server
cd server
touch index.js
touch Movies.json

Откройте файл movie.json, скопируйте и вставьте в него свой JSON и сохраните его. В этом примере я буду использовать ответ от OMDb API. Чтобы получить JSON, скопируйте и вставьте в свой файл movie.json со следующей страницы: http://www.omdbapi.com/?s=Batman&page=2.

Давайте создадим наш сервер

Переходя к нашему серверу, давайте откроем файл index.js в нашем текстовом редакторе. Вы можете видеть, что в верхней части файла есть несколько определяемых глобальных переменных. Все эти переменные, кроме одной, используют то, что называется require.

Обзор требования

Require не является частью стандартного Javascript. Node использует его для загрузки модулей. Импорт в Swift аналогичен.

npmjs.com определяет require следующим образом:

Node's require() – это де-факто оператор зависимостей JavaScript.
npm – де-факто менеджер модулей JavaScript.
require переносит их оба в браузер.

Мы используем его для импорта модулей http, url, fs (файловая система) и пути в наш файл index.js. Мы также собираемся указать порт, на котором будет работать наш сервер, 3000.

Доступ к файловой системе

Чтобы получить доступ к файлу movie.json, нам нужно создать переменную пути к файлу с его расположением. Мы можем сделать это, используя наш модуль пути и вызов
join. `__dirname` — это путь к каталогу, в котором находится index.js. Поскольку movie.json находится в том же каталоге, мы можем добавить его в конце, используя соединение и `__dirname`.

Это должно выглядеть примерно так: /Users/YourUsername/server/movie.json или что-то подобное, в зависимости от того, где находится каталог вашего сервера. Чтобы прочитать файл JSON в этом месте, нам нужно получить доступ к файловой системе с помощью модуля fs и вызвать readFile. При этом принимается путь к читаемому файлу и анонимная функция с параметром error и data. Функция, которую вы передаете, является функцией обратного вызова, которая возвращает либо ошибку, либо данные в конце (представьте ее как обработчик завершения, который использует Swift).

URL!

Внутри этого блока нам нужно пройти через оператор switch, который делает что-то в зависимости от URL-адреса, который использовался для доступа к серверу.
Этот оператор switch может помочь с имитацией разбиения на страницы или другого типа ответа. Если ошибки нет, мы можем вернуть наши данные в нашем вызове response.end.

А пока просто дайте ответу по умолчанию строку, я использовал «По умолчанию, но вы можете использовать все, что вам нравится.

Заворачивать

Node — отличный и простой способ создать сервер для отправки вашему приложению фиктивных данных. Чтобы убедиться, что ваш сервер работает, запустите его
в своем терминале, запустив в каталоге проекта следующее:

узел index.js

Если вы все сделаете правильно, ваш терминал должен выглядеть примерно так:

Мы можем увидеть, работает ли это, создав игровую площадку в XCode, а также используя и тестируя наш APIClient.

В конце нашего файла index.js нам нужно добавить следующее:

Я разместил игровую площадку вызовов API Swift и index.js в кратком виде, на который я дам ссылку.

Gist-файлы:

index.js

APIClientPlayground.swift





Что «требует этот Javascript?
Я пытаюсь заставить Javascript читать/записывать в базу данных PostgreSQL. Я нашел этот проект на github. Мне удалось получить…stackoverflow.com»





Что «требует этот Javascript?
Я пытаюсь заставить Javascript читать/записывать в базу данных PostgreSQL. Я нашел этот проект на github. Мне удалось получить…stackoverflow.com»