Содержание
- 2. Технологии JavaScript
- 3. Основы Node.js Node.js представляет среду выполнения кода на JavaScript, которая построена на основе движка JavaScript Chrome
- 4. Инструмент REPL Для загрузки перейдите на официальный сайт https://nodejs.org/en/. После установки на компьютер Node.js нам становится
- 5. Инструмент REPL Пример: При ошибке в коде REPL укажет об этом:
- 6. Инструмент REPL Выполнение файла Вместо того чтобы вводить весь код напрямую в консоль, удобнее вынести его
- 7. Модули Node.js использует модульную систему. Вся встроенная функциональность разбита на отдельные пакеты или модули. Модуль представляет
- 8. Модули Для загрузки модулей применяется функция require(). К примеру, для получения и обработки запроса был необходим
- 9. Модули Подобным образом мы можем загружать и использовать другие встроенные модули. Например, используем модуль os, который
- 10. Пользовательские модули При необходимости можно создавать свои модули. Но в отличие от встроенных модулей для подключения
- 11. Пользовательские модули Передача данных из модуля Если мы описываем переменные или функции внутри модуля, то извне
- 12. Пользовательские модули Например, создан файл модуля moduleTime.js: Подключим его в файле app.js: Сразу стоит отметить, что
- 13. Пользовательские модули Передача конструктора из модуля Кроме определения простейших функций или свойств в модуле могут определяться
- 14. Пользовательские модули Весь модуль user указывает на определенную функцию конструктора. Файл app.js:
- 15. Структура модулей Нередко модули приложения образуют какие-то отдельные наборы или области. Такие наборы модулей лучше помещать
- 16. Структура модулей Файл morning.js: Файл evening.js: Файл index.js:
- 17. Структура модулей Теперь используем модуль index.js в файле app.js: Так как файла welcome.js нет, но есть
- 18. Объект global и глобальные переменные Node.js предоставляет специальный объект global, который предоставляет доступ к глобальным переменным
- 19. Объект global и глобальные переменные Определим файл приложения app.js: Здесь устанавливаем глобальную переменную name, которую мы
- 20. Передача параметров приложению При запуске приложения из терминала/командной строки можно передавать ему параметры. Для получения параметров
- 21. Передача параметров приложению К примеру, определим следующий файл app.js:
- 22. Передача параметров приложению Запуск приложения без параметров и с ними:
- 23. Установка модулей Кроме встроенных и пользовательских модулей Node.js существует огромное количество различных библиотек, фреймворков и утилит,
- 24. Установка модулей Можно обновить установленную версию NPM до последней: npm install npm@latest -g Может потребоваться запустить
- 25. Установка модулей Файл package.json Для более удобного управления конфигурацией и пакетами приложения в NPM применяется файл
- 26. Установка модулей Далее для примера установим в проект пакет Express. Для установки функциональности Express в проект
- 27. Установка модулей После установки Express в папке проекта modulesapp появится подпапка node_modules, в которой будут храниться
- 28. Установка модулей Можно устанавливать множество пакетов одной командой. В этом случае мы можем определить все необходимые
- 29. Установка модулей Для удаления пакетов используется команда npm uninstall. Например: npm uninstall express Если нам надо
- 30. Команды NPM NPM позволяет определять в файле package.json команды, которые выполняют определенные действия. Например, определим следующий
- 31. Команды NPM Определим следующий файл package.json: Здесь добавлена секция scripts, которая определяет две команды. Названия и
- 32. Команды NPM Но надо учитывать, что есть некоторые предопределенные названия для команд, например, start, test, run
- 33. Команды NPM Например, последовательно выполним обе команды:
- 34. Асинхронность в Node.js Асинхронность представляет возможность одновременно выполнять сразу несколько задач. Например, допустим в файле приложения
- 35. Асинхронность в Node.js Для рассмотрения асинхронности изменим код файла app.js следующим образом: Теперь вывод сообщения «Обработка
- 36. Асинхронность в Node.js Результат: Несмотря на то, что в setTimeout передается промежуток 0, фактическое выполнение функции
- 37. События Подавляющее большинство функционала Node.js применяет асинхронную событийную архитектуру, которая использует специальные объекты – эмиттеры для
- 38. События Для примера определим следующий файл app.js: Для генерации события выполняется функция emitter.emit().
- 39. События Передача параметров событию При вызове события в качестве второго параметра в функцию emit можно передавать
- 40. События Наследование от EventEmitter В приложении мы можем оперировать сложными объектами, для которых также можно определять
- 41. Работа с файловой системой. Модуль fs Чтение из файла Допустим, в одной папке с файлом приложения
- 42. Работа с файловой системой. Модуль fs Для асинхронного чтения файла применяется функция fs.readFile(): Третий параметр здесь
- 43. Работа с файловой системой. Модуль fs Для чтения файла определим в файле app.js следующий код:
- 44. Работа с файловой системой. Модуль fs Запись файла Для записи файла в синхронном варианте используется функция
- 45. Работа с файловой системой. Модуль fs Пример: Данные методы полностью перезаписывают файл. Если надо осуществить дозапись,
- 46. Работа с файловой системой. Модуль fs Удаление файла Для удаления файла в синхронном варианте используется функция
- 47. Потоки данных Объект Stream представляет поток данных. Потоки бывают различных типов, среди которых можно выделить потоки
- 48. Потоки данных Используя потоки чтения и записи, можно считывать и записывать информацию в файл. Поток записи
- 49. Потоки данных Поток чтения Для создания потока для чтения используется метод fs.createReadStream(), в который также передается
- 50. Потоки данных Пример:
- 51. Канал Pipe Pipe – это канал, который связывает поток для чтения и поток для записи и
- 52. Канал Pipe Скопируем содержимое файла hello.txt в новый файл some.txt: У потока чтения вызывается метод pipe(),
- 53. Клиент-серверная архитектура приложения Протокол HTTP предоставляет набор методов для указания целей запроса, отправляемого серверу. Эти методы
- 54. Клиент-серверная архитектура приложения Запрашивающая программа–клиент инициирует взаимодействие с отвечающей программой–сервером, и посылает запрос, содержащий: метод доступа;
- 55. Создание сервера Для работы с сервером и протоколом HTTP в Node.js используется модуль http. Чтобы создать
- 56. Создание сервера Для обработки подключений можно передать особую функцию: Эта функция принимает два параметра: request –
- 57. Создание сервера Request Параметр request позволяет получить информацию о запросе и представляет объект http.IncomingMessage. Отметим некоторые
- 58. Создание сервера Например, определим следующий файл app.js: Запустим его и обратимся в браузере по адресу http://localhost:3000/index.html:
- 59. Создание сервера Response Параметр response управляет отправкой ответа и представляет объект http.ServerResponse. Среди его функциональности можно
- 60. Создание сервера Например, изменим файл app.js следующим образом:
- 61. Маршрутизация Node.js не имеет встроенной системы маршрутизации адресов запросов к серверу. Обычно она реализуется с помощью
- 62. Маршрутизация Например:
- 63. Маршрутизация В данном случае обрабатываются три маршрута и неправильный ввод маршрута.
- 64. Переадресация Переадресация предполагает отправку статусного кода: 301 (постоянная переадресация) 302 (временная переадресация) А также заголовка Location,
- 65. Переадресация Например:
- 66. Отправка файлов Отправка статических файлов – частая задача в работе веб-приложения. Пусть в каталоге проекта у
- 67. Первый способ отправки файлов Для этого может применяться метод fs.createReadStream(). Затем с помощью метода pipe() мы
- 68. Первый способ отправки файлов Файл app.js :
- 69. Первый способ отправки файлов Метод fs.createReadStream() создает поток для чтения – объект fs.ReadStream. Для получения данных
- 70. Первый способ отправки файлов В данном случае отправляются файлы html, но подобным образом можно отправлять разные
- 71. Второй способ отправки файлов Второй способ представляет чтение данных с помощью функции fs.readFile() и отправка с
- 72. Шаблоны Вместо статичного содержимого можно применять шаблоны, вместо которых в файл будет вставляться какой-то определенный текст.
- 73. Шаблоны Изменим файл app.js:
- 75. Скачать презентацию