Каталог статей

Самоучитель для начинающих шаг за шагом с примерами

Hello World

Когда вы запустите этот код, вы должны увидеть следующий ответ.

Давайте продолжим и создадим различные маршруты для поддержки нескольких ответов.

Посмотрите на код, показанный ниже.

const http = require ( “http” ) ; const hostname = “localhost” ; const port = 3000 ; const server = http. createServer ( ( req , res ) =>

Это главная страница

Это страница “О сайте”.

server. listen ( port , hostname , ( ) => ) ;

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

Перейдите в браузере на localhost:3000/home, чтобы просмотреть ответ.

Перейдите в браузере на localhost:3000/about, чтобы просмотреть второй ответ.

Потрясающе. Мы создали простой веб-сервер в Node. Давайте перейдем к следующему шагу.

Шаг 3: Модули Node и NPM

Модули Node – это основной строительный блок программы Node.

Модуль node – это набор функций, которые могут быть повторно использованы в вашем приложении.

Node имеет встроенные модули, а также вы можете создавать свои модули node.

Некоторые из известных встроенных модулей node – fs, net, http, а многие популярные модули, такие как express, nodemailer, построены поверх этих встроенных модулей.

Мы можем установить модули node с помощью менеджера пакетов node или npm.

Вы можете установить модули node с помощью следующей команды.

Откройте терминал/командную строку и выполните эту команду.

Вы также можете установить модуль и записать его в файл package.json с помощью следующей команды.

Вы можете использовать следующую команду для удаления модулей node.

Если вы хотите удалить запись модуля из файла package.json, используйте эту команду.

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

Например, рассмотрим этот код, который может выступать в качестве узлового модуля.

const calc = ( a , b , p ) => switch ( p ) case ‘-‘ : case ‘*’ : case ‘/’ : default : > > exports. calc = calc ; //very important line

Вы можете повторно использовать этот модуль в своем коде следующим образом:

Это действительно простой пример. Однако он дает представление о том, как создавать узловые модули. Если вас интересует более подробная информация, посетите этот учебник.

Модули Node управляются файлом package.json . Этот файл содержит список пакетов, которые использует ваш проект, а также номер версии и т.д.

Типичный файл package.json выглядит следующим образом:

, “keywords” : [ ] , “author” : “” , “license” : “ISC” , “dependencies” : >

В package.json мы также указываем такие детали, как имя проекта, версию, входной файл проекта.

Все зависимости, которые устанавливаются с помощью команды npm install, перечислены в package.json. При работе с пакетами необходимо всегда поддерживать обновленную версию package.json.

Давайте перейдем к следующему шагу.

Шаг 4: Модуль файловой системы.

Модуль fs предоставляет API для взаимодействия с файловой системой вашей операционной системы. Чтобы использовать этот модуль, потребуйте его в своем коде следующим образом:

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

Вы можете использовать метод fs.readFile() или fs.readFileSync() для чтения файлов в Node.

Например: Использование метода readFile().

const fs = require ( ‘fs’ ) ; fs. readFile ( ‘./lorem.txt’ , ( err , data ) => console. log ( data. toString ( ) ) ; > ) ;

Использование метода readFileSync().

const fs = require ( ‘fs’ ) ; const data = fs. readFileSync ( ‘./lorem.txt’ ) ; console. log ( data. toString ( ) ) ;

Проще всего проверить, существует ли файл или нет, с помощью функции readFile().

Однако эта функция открывает дескриптор файла и занимает некоторое количество памяти.

Если вы просто хотите проверить существование файла в системе, я рекомендую использовать функцию access(). Вот код:

const fs = require ( ‘fs’ ) ; const path = ‘./config.js’ ; fs. access ( path , fs. F_OK , ( err ) => > ) ;

Модуль файловой системы предоставляет три метода для создания файлов:

  1. fs.open()
  2. fs.writeFile()
  3. fs.appendFile()

Метод fs.open() открывает новый файл или создает новый пустой файл, если он не существует по указанному пути.

Он принимает второй параметр, который действует как флаг, например, w для записи, w+ для чтения и записи и т.д. Код:

const fs = require ( ‘fs’ ) ; fs. open ( ‘file.txt’ , ‘w’ , ( err , file ) => console. log ( ‘Saved!’ ) ; > ) ;

Метод fs.writeFile() позволяет создавать или заменять файлы содержимым.

Если файл существует, он заменит его содержимое на предоставленное, а если файл не существует, он создаст его.

const fs = require ( ‘fs’ ) ; fs. writeFile ( ‘file.txt’ , ‘Hello Word!’ , ( err ) => console. log ( ‘Saved!’ ) ; > ) ;

Метод fs.appendFile() добавляет предоставленное содержимое в конец файла.

const fs = require ( ‘fs’ ) ; fs. appendFile ( ‘file.txt’ , ‘ Hello World’ , ( err ) => console. log ( ‘Updated!’ ) ; > ) ;

Чтобы удалить файл, мы можем использовать метод fs.unlink().

const fs = require ( ‘fs’ ) ; fs. unlink ( ‘file.txt’ , ( err ) => console. log ( ‘File deleted!’ ) ; > ) ;

Чтобы переименовать файл, мы можем использовать метод fs.rename().

const fs = require ( ‘fs’ ) ; fs. rename ( ‘newfile.txt’ , ‘oldfile.txt’ , ( err ) => console. log ( ‘File Renamed!’ ) ; > ) ;

Вы также можете копировать файлы с помощью метода fs.copy().

const fs = require ( ‘fs’ ) ; fs. copyFile ( file. txt ‘, ‘ copyfile. txt ‘, (err) => console.log(‘ File is copied ! ‘); >);

Давайте перейдем к следующему шагу.

Шаг 5: фреймворк Express

Express – это популярный фреймворк для разработки веб-приложений на Node.

Express широко используется и может применяться для разработки веб-приложений, таких как веб-сервер, сервер REST API, потоковый движок и т.д.

В этом разделе мы познакомимся с express и создадим простой веб-сервер с различными маршрутами.

Терминология, которую мы будем использовать в этом разделе, следующая:

  1. маршрут: Это означает конечную точку. Например, facebook.com/profile, поэтому профиль – это маршрут.
  2. промежуточное программное обеспечение: Набор функций, которые будут выполняться в выбранном порядке.

Создайте новую папку и перейдите в нее с помощью терминала или командной строки.

Создайте новый проект узла с помощью следующей команды.

Это создаст образец package.json для вашего проекта. Чтобы установить модуль express, выполните следующую команду.

Последняя версия фреймворка express будет установлена в ваш проект. Теперь создайте новый файл и назовите его app.js. В этом файле мы напишем наш веб-сервер, используя express.

const express = require ( ‘express’ ) ; const app = express ( ) ;

app. listen ( process. env . port || 3000 ) ;

console. log ( ‘Web Server is listening at port ‘ + ( process. env . port || 3000 ) ) ;

В приведенном выше коде мы потребовали модуль express и создали его новый экземпляр.

В конце мы запустили наш сервер с помощью функции listen().

Маршрутизаторы – это просто конечная точка сервера.

Например, facebook.com/codeforgeek, здесь codeforgeek – это маршрут.

Нам нужно создать маршруты в нашем веб-приложении для обслуживания различных запросов. Мы создадим следующие маршруты в нашем веб-приложении.

Экспресс-маршруты позволяют нам обслуживать различные методы HTTP, такие как GET, POST, PUT, DELETE, HEAD. Вот как создать маршрутизатор.

const express = require ( ‘express’ ) ; const app = express ( ) ; const router = express. Router ( ) ;

router. get ( ‘/home’ , ( req , res ) => ) ;

router. get ( ‘/profile’ , ( req , res ) => ) ;

router. get ( ‘/login’ , ( req , res ) => ) ;

router. get ( ‘/logout’ , ( req , res ) => ) ;

app. use ( ‘/’ , router ) ;

app. listen ( process. env . port || 3000 ) ;

console. log ( ‘Web Server is listening at port ‘ + ( process. env . port || 3000 ) ) ;

Давайте запустим наше приложение, сохраним файл и запустим код с помощью следующей команды.

В терминале вы должны увидеть следующее сообщение.

Откройте браузер и посетите маршруты.

Здесь находится страница профиля.

Вы также можете отправить HTML/JSON

const express = require ( ‘express’ ) ; const app = express ( ) ;

app. listen ( process. env . port || 3000 ) ;

console. log ( ‘Web-сервер прослушивает порт ‘ + ( process. env . port || 3000 ) ) ;

const express = require ( ‘express’ ) ; const app = express ( ) ;

app. use ( ( req , res , next ) => ) ;

app. listen ( process. env . port || 3000 ) ;

console. log ( ‘Web Server is listening at port ‘ + ( process. env . port || 3000 ) ) ;

console. log ( ‘Web-сервер прослушивает порт ‘ + ( process. env . port || 3000 ) ) ;

Express по умолчанию предоставляет некоторое промежуточное ПО, такое как статическое, JSON и т.д.

const express = require ( ‘express’ ) ; const app = express ( ) ; const router = express. Router ( ) ;

router. use ( ( req , res , next ) => ) ;

router. get ( ‘/home’ , ( req , res ) => ) ;

Мы можем использовать стороннее промежуточное ПО, такое как body-parser. Вот как мы можем установить стороннее промежуточное ПО.

console. log ( ‘Web Server is listening at port ‘ + ( process. env . port || 3000 ) ) ;

const express = require ( ‘express’ ) ; const bodyParser = require ( ‘body-parser’ ) ; const app = express ( ) ; const router = express. Router ( ) ;

// добавляем промежуточное ПО перед маршрутами app. use ( bodyParser. json ( ) ) ;

app. use ( ‘/’ , router ) ;

Аналогично промежуточному ПО приложений, мы можем использовать промежуточное ПО маршрутизаторов. Например:

console. log ( ‘Web Server is listening at port ‘ + ( process. env . port || 3000 ) ) ;

const express = require ( ‘express’ ) ; const app = express ( ) ; const router = express. Router ( ) ;

Мы можем работать с сессиями в Express с помощью промежуточного ПО express-session. Мы можем использовать это промежуточное ПО для создания, отслеживания и удаления сессий.

Чтобы использовать этот модуль в нашем коде, загрузите его как промежуточное ПО.

Теперь мы можем использовать объект req.session для создания, отслеживания и удаления сессий.

router. get ( ‘/home’ , ( req , res ) => ) ;

router. get ( ‘/profile’ , ( req , res ) => ) ;

router. get ( ‘/login’ , ( req , res ) => ) ;

router. get ( ‘/logout’ , ( req , res ) => ) ;

Чтобы узнать больше о сессии, прочитайте эту статью.

app. use ( ‘/’ , router ) ;

app. listen ( process. env . port || 3000 ) ;

console. log ( ‘Web Server is listening at port ‘ + ( process. env . port || 3000 ) ) ;

База данных является неотъемлемой частью любого приложения. Вы должны знать, как использовать ее вместе с Node для создания полноценного приложения.

В этом разделе мы рассмотрим следующие базы данных:

Начнем с MySQL.

MySQL

MySQL – это очень популярная база данных SQL. В этом разделе мы узнаем, как подключаться, делать запросы и использовать ее в NodeJS.

MySQL является очень популярной базой данных и используется в миллионах приложений. Мы можем использовать MySQL и в Node.

Нам нужно установить модуль с именем MySQL, чтобы использовать его с базой данных MySQL.

Прежде чем приступить к работе, необходимо установить базу данных MySQL в вашей системе.

Чтобы установить модуль node для соединения с MySQL:

Вот как мы можем установить соединение с движком MySQL.

const mysql = require (“mysql”) ;

Аналогичным образом можно выполнять такие запросы, как INSERT, UPDATE и DELETE. Узнайте больше подробностей об использовании Node и MySQL.

Давайте узнаем о MongoDB.

MongoDB

MongoDB – это очень популярная база данных NoSQL. Узнайте, как подключаться, делать запросы и использовать

const mongo = require (“mongodb” ) ; const url = “mongodb://localhost:27017/test” ;

MongoDB работает на порту 27017 . Мы можем подключиться к любой базе данных, с которой хотим работать.

В приведенном выше коде мы подключаемся к тестовой базе данных.

Мы используем метод connect() для установления соединения с базой данных. Сохраните приведенный выше код в файле под названием ‘app.js’ и запустите файл:

const pool = mysql. createPool ( ) ;

pool. query ( “SELECT * from LIMIT 10” , ( err , rows ) => console. log ( rows [ 0 ] ) ; > ) ;

Вы должны увидеть результат, подобный этому:

Для хранения данных в базе данных MongoDB необходимо создать коллекцию.

Думайте о коллекции как о таблице в базе данных SQL. Вы можете либо создать коллекцию в оболочке MongoDB, либо сделать это в коде. Вот как вы можете сделать это в коде.

const mongo = require (“mongodb” ) ; const url = “mongodb://localhost:27017/” ;

Давайте попробуем добавить некоторые данные в коллекцию MongoDB.

MongoDB хранит данные в формате JSON. JSON – это формат данных на основе ключ-значение, широко используемый в различных слоях программного обеспечения.

Вы также можете искать данные внутри коллекции с помощью функции findOne().

const mongo = require (“mongodb” ) ; const url = “mongodb://localhost:27017/” ;

После выполнения приведенного выше кода вы должны увидеть запись, подобную этой.

Вы также можете выполнять множество других операций, таких как query(), sort(), delete() и т.д. Узнать больше о MongoDB можно здесь.

mongo. connect ( url , , ( err , db ) => console. log ( “database connected!” ) ; db. close ( ) ; > ) ;

Перейдем к следующей базе данных, PostgreSQL.

PostgreSQL

PostgreSQL – это очень популярная база данных SQL. Узнайте, как подключаться, запрашивать и использовать ее с помощью NodeJS.

PostgreSQL, также называемый Postgres, – это бесплатная и популярная система реляционных баз данных.

Postgres конкурирует с такими реляционными базами данных, как MySQL, SQL Server или MariaDB.

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

Нам нужно создать учетные данные пользователя в Postgres, чтобы подключиться к базе данных. Подключитесь к Postgres, используя учетные данные по умолчанию. Выполните эту команду в терминале.

mongo. connect ( url , , ( err , db ) => console. log ( “database connected!” ) ; var dbo = db. db ( “test” ) ; dbo. createCollection ( “customers” , ( err , result ) => console. log ( “collection created!” ) ; db. close ( ) ; > ) ; > ) ;

Создайте нового пользователя.

Дайте разрешение новому пользователю.

const mongo = require ( “mongodb” ) ; const url = “mongodb://localhost:27017/” ; mongo. connect ( url , , ( err , db ) => let data = ; var dbo = db. db ( “test” ) ; console. log ( “database connected!” ) ; dbo. collection ( “user” ) . insert ( data , ( err , result ) => console. log ( “records added.” ) ; console. log ( result ) ; db. close ( ) ; > ) ; > ) ;

Теперь выйдите из текущей сессии и снова войдите в систему с новыми учетными данными пользователя.

Нам нужно создать учетные данные пользователя в Postgres, чтобы подключиться к базе данных. Подключитесь к Postgres, используя учетные данные по умолчанию. Выполните эту команду в терминале.

mongo. connect ( url , , ( err , db ) =>

let data = ; var dbo = db. db ( “test” ) ; console. log ( “database connected!” ) ;

dbo. collection ( “user” ) . findOne ( , ( err , result ) => console. log ( “Here is the record” ) ; console. log ( result ) ; db. close ( ) ; > ) ; > ) ;

Переключитесь на новую базу данных.

Создайте новую таблицу.

CREATE TABLE profile ( ID SERIAL PRIMARY KEY , name VARCHAR ( 30 ) , email VARCHAR ( 30 ) );

Вставьте несколько записей.

INSERT INTO profile ( name , email ) VALUES ( ‘Jerry’ , ‘jerry@example.com’ ), ( ‘George’ , ‘george@example.com’ );

Давайте подключимся к нему с помощью нашей программы Node. Установите зависимость.

Создайте файл app.js и добавьте в него следующий код.

// добавляем новый профиль пользователя. const name = “Shahid” ; const email = “shahid@codeforgeek.com” ;

Мы создали новое соединение Pool с Postgres. Сначала мы выполнили SELECT-запрос, используя метод pool.query(). Соединение с пулом автоматически возвращает соединение с пулом после выполнения запроса.

Перейдем к последней базе данных в разделе.

Redis

Redis – это высокопроизводительная база данных in-memory, используемая в качестве хранилища структур данных. Redis поддерживает хэши, строки, l

Чтобы настроить Redis с Node, нам нужно установить драйвер Redis.

Вот пример кода для подключения к серверу Redis.

Когда вы выполните эту команду, у вас должно появиться соединение с Redis.

users =>Вы можете использовать set(), get() и другие команды Redis для выполнения различных операций.

Для более глубокого изучения Redis вы можете посетить этот учебник.

Шаг 7: Развертывание приложения Node на облачном сервере

Давайте узнаем, как развернуть наше приложение Node. Я развертываю все свои проекты на DigitalOcean. Я настоятельно рекомендую его разработчикам. Если вы никогда не пробовали использовать DigitalOcean, попробуйте, получив скидку $10 на первый месяц.

Нажмите здесь, чтобы перейти на экран создания дроплета DigitalOcean.

const Pool = require ( “pg” ) . Pool ; const pool = new Pool ( ) ;

// read information from table pool. query ( “SELECT * FROM profile ORDER BY id ASC” , ( error , results ) => console. log ( results ) ; > ) ;

Выберите тарифный план стоимостью $5 и создайте дроплет. После создания дроплета подождите некоторое время, и DigitalOcean пришлет вам письмо с учетными данными. Войдите в свой дроплэт, используя следующую команду.

pool. query ( “INSERT INTO profile (name, email) VALUES ($1, $2)” , [ name , email ] , ( error , results ) => console. log ( results ) ; > ) ;

Самоучитель Nodejs для начинающих шаг за шагом

Учебник по Nodejs для начинающих шаг за шагом

Учебник по Nodejs для начинающих шаг за шагом

Учебник по Nodejs для начинающих шаг за шагом

Самоучитель Nodejs для начинающих шаг за шагом

Самоучитель по Nodejs для начинающих шаг за шагом

Соединения MongoDB

Результат команды MongoDB find

Сервер Redis

var redis = require ( ‘redis’ ) ; var redisClient = redis. createClient ( ) ;

redisClient. on ( ‘ready’ , function ( ) ) ;

redisClient. on ( ‘error’ , function ( ) ) ;

Exit mobile version