Руководство. Node.js для начинающих
Если вы новичок в использовании Node.js, это руководство поможет вам начать с некоторых основ.
- Использование Node.js в Visual Studio Code
- Создание первого веб-приложения Node.js с помощью Express
- Попробуйте использовать модуль Node.js
Необходимые компоненты
- Установка Node.js в Windows или в подсистеме Windows для Linux.
Использование Node.js в Visual Studio Code
Если вы еще не установили Visual Studio Code, вернитесь к предыдущему разделу предварительных требований и выполните действия по установке, связанные с Windows или WSL.
Откройте командную строку и создайте новый каталог с помощью команды
mkdir HelloNode
, а затем введите каталог:cd HelloNode
.Создайте файл JavaScript с именем "app.js" и переменной с именем "msg" в:
echo var msg > app.js
Откройте каталог и файл app.js в VS Code с помощью команды
code .
.Добавьте простую строковую переменную ("Hello World"), а затем отправьте содержимое строки в консоль, введя его в файле "app.js":
var msg = 'Hello World'; console.log(msg);
Для запуска файла "app.js" с Node.js. Откройте окно терминала в VS Code, выбрав Представление>Терминал (или нажмите Ctrl+`, используя символ обратного апострофа). Если необходимо изменить терминал по умолчанию, откройте раскрывающееся меню и выберите Выбрать оболочку по умолчанию.
В окне терминала введите:
node app.js
. Вы увидите выходные данные : Hello World.
Примечание.
Обратите внимание, что при вводе console
в файл "app.js", VS Code отображает поддерживаемые параметры, связанные с объектом console
, который можно выбрать из использования IntelliSense. Попробуйте поэкспериментировать с Intellisense, используя другие объекты JavaScript.
Создание первого веб-приложения Node.js с помощью Express
Express — это простейшая, гибкая и оптимизированная платформа Node.js, упрощающая разработку веб-приложения, которое может обрабатывать различные типы запросов, например GET, PUT, POST и DELETE. Express поставляется с генератором приложений, который автоматически создает файловую архитектуру для приложения.
Чтобы создать проект с помощью Express.js, выполните следующие действия.
Откройте командную строку (командная строка, Powershell или любой другой вариант).
Создайте новую папку проекта:
mkdir ExpressProjects
и введите этот каталог:cd ExpressProjects
Используйте Express для создания шаблона проекта HelloWorld:
npx express-generator HelloWorld --view=pug
Примечание.
Мы используем команду
npx
, чтобы выполнить пакет Node Express.js без фактической установки (или временно установить его в зависимости от того, как вы хотите его представить). Если вы попытаетесь использовать командуexpress
или проверить установленную версию Express с помощью:express --version
, вы получите ответ, о том, что Express не удается найти. Если вы хотите глобально установить Express, чтобы применять его на постоянной основе, используйте:npm install -g express-generator
. Список пакетов, установленных npm, можно просмотреть с помощьюnpm list
. Пакеты будут перечислены в соответствии с глубиной расположения (уровень глубины вложенных каталогов). Установленные пакеты будут расположены на уровне 0, зависимости пакетов — на уровне 1, другие зависимости —на уровне 2 и т. д. Дополнительные сведения см. в статье Различие между npx and npm на сайте StackOverflow.Изучите файлы и папки, включенные в Express, открыв проект в VS Code, с помощью:
code .
Файлы, генерируемые Express, создадут веб-приложение, использующее конкретную архитектуру, которая на первый взгляд может показаться немного перегруженной. В окне обозревателя VS Code (Ctrl+Shift+E для просмотра), вы увидите, что были созданы следующие файлы и папки:
bin
. содержит исполняемый файл, запускающий приложение. Он запускает сервер (через порт 3000, если нет альтернативы) и настраивает базовую обработку ошибок.public
. Содержит все общедоступные файлы, в том числе файлы JavaScript, каскадные таблицы стилей (CSS), файлы шрифтов, изображения и другие ресурсы, необходимые пользователям при подключении к вашему веб-сайту.routes
. Содержит все обработчики маршрутов для приложения. В этой папке автоматически создаются два файла,index.js
иusers.js
, которые служат примерами отделения конфигурации маршрутов вашего приложения.views
. Содержит файлы, используемые модулем создания шаблонов. На платформе Express настроен поиск подходящего представления при вызове метода преобразования для просмотра. По умолчанию используется модуль создания шаблонов Jade, но он устарел по сравнению с Pug. Поэтому мы используем флаг--view
для изменения модуля (шаблона) представления. Просмотреть параметры как флага--view
, так и других флагов можно с помощью командыexpress --help
.app.js
. начальная точка вашего приложения. Этот файл загружает все необходимые компоненты и начинает обслуживать запросы пользователей. Его можно назвать связующим компонентом, который объединяет все части.package.json
. Содержит описание вашего проекта, диспетчер сценариев и манифест приложения. Его основная цель — отслеживать зависимости приложения и их соответствующие версии.
Теперь необходимо установить зависимости, которые Express будет использовать, чтобы создать и запустить приложение HelloWorld Express (пакеты, используемые для таких задач, как запуск сервера, как определено в файле
package.json
). В VS Code откройте терминал, выбрав Представление>Терминал (или нажмите Ctrl+`, используя символ обратного апострофа), убедитесь, что вы все еще находитесь в каталоге проекта "HelloWorld". Установите зависимости пакета Express с помощью:npm install
На этом этапе у вас есть настроенная для многостраничного веб-приложения платформа с доступом к большому количеству API-интерфейсов и множеству служебных методов HTTP, а также ПО промежуточного слоя, что упрощает создание надежного API. Запустите приложение Express на виртуальном сервере, введя следующее:
npx cross-env DEBUG=HelloWorld:* npm start
Совет
Часть
DEBUG=myapp:*
приведенной выше команды означает, что вы указываете Node.js включить ведение журнала в целях отладки. Не забудьте заменить "myapp" именем своего приложения. Имя приложения можно найти в файлеpackage.json
в свойстве "name". Использованиеnpx cross-env
устанавливает переменную средыDEBUG
в любом терминале, но ее также можно задать с помощью конкретного терминала. Командаnpm start
сообщает npm о необходимости запуска скриптов в файлеpackage.json
.Теперь вы можете просмотреть работающее приложение, открыв веб-браузер и перейдя по адресу: localhost:3000
Теперь, когда приложение HelloWorld Express выполняется локально в браузере, попробуйте внести изменения, открыв папку "views" в каталоге проекта и выбрав файл "index.pug". После открытия измените
h1= title
наh1= "Hello World!"
и выберите Сохранить (Ctrl+S). Просмотрите изменения, обновив URL-адрес localhost:3000 в веб-браузере.Чтобы остановить запуск приложения Express, в терминале введите: CTRL+C
Знакомство с использованием модуля Node.js
Node.js включает в себя средства для разработки серверных веб-приложений. Некоторые из них встроены, а многие другие доступны с помощью npm. Эти модули позволяют выполнять множество задач.
Средство | Используется для |
---|---|
GM, sharp | Обработка изображений, в том числе редактирование, изменение размера, сжатие и т. д. непосредственно в коде JavaScript |
PDFKit | Создание PDF |
validator.js | Проверка строк |
imagemin, UglifyJS2 | Минификация |
spritesmith | Создание листа Sprite |
winston | Ведение журнала |
commander.js | Создание приложений командной строки |
Сведения об операционной системе вашего компьютера можно получить с помощью встроенного модуля ОС.
В командной строке откройте интерфейс командной строки Node.js. После входа вы увидите подсказку
>
, сообщающую вам, что вы используете Node.js:node
Чтобы определить операционную систему, используемую в данный момент (которая должна возвращать ответ, сообщающий о том, что вы работаете под Windows), введите:
os.platform()
Чтобы проверить архитектуру ЦП, введите:
os.arch()
Чтобы просмотреть доступные в системе процессоры, введите:
os.cpus()
Для выхода из интерфейса командной строки Node.js введите
.exit
или дважды нажмите CTRL+C.Совет
Модуль ос Node.js можно использовать для выполнения таких действий, как проверка платформы и возврат переменной для конкретной платформы: Win32/.bat для разработки Windows, дарвин/.sh для Mac/unix, Linux, SunOS и т. д. (например,
var isWin = process.platform === "win32";
).
Windows developer