Setting up a Node development environment
Теперь, когда вы знаете, что такое Express, мы покажем вам, как настроить и протестировать среду разработки Express для Windows, Linux (Ubuntu) и Mac OS X — какую бы операционную систему вы не использовали, эта статья должна дать вам все, что необходимо для возможности начать разрабатывать приложения Express.
| Требования: | Знание как открыть терминал / командную строку, как устанавливать программные пакеты в операционной системе вашего компьютера. |
|---|---|
| Задача: | Создать среду разработки для Express на вашем компьютере. |
Обзор среды разработки Express
Node и Express упрощают настройку вашего компьютера, чтобы вы могли начать разработку веб-приложений. В этом разделе объясняется, какие инструменты нужны, приводятся некоторые из самых простых способов установки Node (и Express) на Ubuntu, macOS, and Windows, и показывается как вы можете протестировать свою установку.
Что такое среда разработки Express?
Среда разработки Express включает в себя установку Nodejs, менеджера пакетов NPM и (необязательно) Express Application Generator на локальном компьютере.
Узел и менеджер пакетов NPM устанавливаются вместе из подготовленных двоичных пакетов, установщиков, менеджеров пакетов операционной системы или из исходного кода (как показано в следующих разделах). Затем Express устанавливается NPM как зависимость от ваших отдельных веб-приложений Express (наряду с другими библиотеками, такими как механизмы шаблонов, драйверы баз данных, промежуточное программное обеспечение для аутентификации, промежуточное программное обеспечение для обслуживания статических файлов и т. Д.)
NPM также можно использовать для (глобальной) установки Express Application Generator, удобного инструмента для создания каркасных веб-приложений Express, которые следуют шаблону MVC. Генератор приложений является необязательным, поскольку вам не нужно использовать этот инструмент для создания приложений, использующих Express, или для приложений для создан Express, имеющих одинаковую архитектурную разметку или зависимости. Мы будем использовать его, потому что это значительно облегчает начало работы и продвигает модульную структуру приложения.
Примечание: Примечание: в отличие от некоторых других веб-сред, среда разработки не включает отдельный веб-сервер разработки. В Node / Express веб-приложение создаёт и запускает собственный веб-сервер!
Существуют и другие периферийные инструменты, которые являются частью типичной среды разработки, в том числе текстовые редакторы или IDE для редактирования кода и инструменты управления исходным кодом, такие как Git, для безопасного управления различными версиями вашего кода. Мы предполагаем, что вы уже установили подобные инструменты (в частности, текстовый редактор).
Какие операционные системы поддерживаются?
Узел может быть запущен в Windows, macOS, во многих «разновидностях» Linux, Docker и т. Д. (Полный список на странице загрузок nodejs). Практически любой персональный компьютер должен иметь необходимую производительность для запуска Node во время разработки. Express работает в среде Node и, следовательно, может работать на любой платформе, на которой работает Node.
В этой статье мы предоставляем инструкции по установке для Windows, macOS и Ubuntu Linux.
Какую версию Node / Express следует использовать?
Существует множество выпусков Node — более новые выпуски содержат исправления ошибок, поддержку более свежих версий стандартов ECMAScript (JavaScript) и улучшения API-интерфейсов Node.
Как правило, вы должны использовать самый последний выпуск LTS (с долгосрочной поддержкой), поскольку он будет более стабильным, чем «текущий» выпуск, при этом все ещё имея относительно недавние функции (и все ещё активно поддерживается). Вы должны использовать Текущий выпуск, если вам нужна функция, которой нет в версии LTS.
Для Express вы всегда должны использовать последнюю версию.
Как насчёт баз данных и других зависимостей?
Другие зависимости, такие как драйверы баз данных, механизмы шаблонов, механизмы аутентификации и т. д., Являются частью приложения и импортируются в среду приложения с помощью диспетчера пакетов NPM. Мы обсудим их в следующих статьях для конкретных приложений.
Установка Node
Чтобы использовать Express, сначала необходимо установить Nodejs и Node Package Manager (NPM) в вашей операционной системе. В следующих разделах описывается самый простой способ установки версии Nodejs с долгосрочной поддержкой (LTS) в Ubuntu Linux 16.04, macOS и Windows 10.
Примечание: Совет: В следующих разделах показан самый простой способ установки Node и NPM на наши целевые платформы ОС. Если вы используете другую ОС или просто хотите увидеть некоторые другие подходы для текущих платформ, см. Установка Node.js через менеджер пакетов (nodejs.org).
Windows и macOS
Установка Node и NPM в Windows и macOS проста, потому что вы можете просто использовать предоставленный инсталлятор:
- Загрузите необходимый установщик:
- Перейдите по ссылке https://nodejs.org/en/
- Нажмите кнопку, чтобы загрузить сборку LTS, которая «Рекомендуется для большинства пользователей».
Ubuntu 16.04
Самый простой способ установить последнюю версию LTS Node 6.x — это использовать package manager чтобы получить его из репозитория бинарных дистрибутивов Ubuntu. Это можно сделать очень просто, выполнив следующие две команды на вашем терминале:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install -y nodejs
Предупреждение: Внимание: Не устанавливайте напрямую из обычных репозиториев Ubuntu, поскольку они содержат очень старые версии узла.
Проверка вашей установки Nodejs и NPM
Самый простой способ проверить, установлен ли этот узел, — это запустить команду «версия» в своём терминале / командной строке и проверить, что возвращается строка версии:
>node -v v8.11.3Менеджер пакетов Nodejs NPM также должен быть установлен и может быть протестирован таким же образом:
>npm -v 5.8.0
В качестве немного более захватывающего теста давайте создадим очень простой сервер «чистого узла», который просто печатает «Hello World» в браузере, когда вы посещаете правильный URL в вашем браузере:
-
Скопируйте следующий текст в файл с именем hellonode.js. Здесь используются чистые функции Node (ничего из Express) и некоторый синтаксис ES6:
//Загрузка модуля HTTP const http = require("http"); const hostname = "127.0.0.1"; const port = 3000; //Создание HTTP-сервера const server = http.createServer((req, res) => //Установка HTTP-заголовков ответа с HTTP-статусом и Content type res.statusCode = 200; res.setHeader("Content-Type", "text/plain"); res.end("Hello World\n"); >); //Слушание запросов на порту 3000, и в качестве каллбака функция, которая пишет в лог server.listen(port, hostname, () => console.log("Server running at http://$:$/"); >);
Код импортирует модуль «http» и использует его для создания сервера (createServer ()), который обрабатывает HTTP-запросы на порту 3000. Затем сценарий выводит на консоль сообщение о том, какой URL-адрес браузера можно использовать для тестирования сервера. Функция createServer () принимает в качестве аргумента колбэк-функцию, которая будет вызываться при получении HTTP-запроса — она просто возвращает ответ с кодом состояния HTTP 200 («ОК») и простым текстом «Hello World».
Примечание: Замечание: не беспокойтесь, если вы ещё не совсем понимаете, что делает этот код! Мы объясним наш код более подробно, как только мы начнём использовать Express!
>node hellonode.js Server running at http://127.0.0.1:3000/
Использование NPM
Помимо самого Node, NPM является наиболее важным инструментом для работы с приложениями Node. NPM используется для получения любых пакетов (библиотек JavaScript), которые необходимы приложению для разработки, тестирования и / или производства, а также может использоваться для запуска тестов и инструментов, используемых в процессе разработки.
Примечание: С точки зрения Node, Express — это просто ещё один пакет, который вам нужно установить с помощью NPM, а затем установить его в своём собственном коде.
Вы можете вручную использовать NPM для получения каждого необходимого пакета отдельно. Обычно мы вместо этого управляем зависимостями, используя простой текстовый файл с именем package.json. В этом файле перечислены все зависимости для конкретного «пакета» JavaScript, включая имя пакета, версию, описание, исходный файл для выполнения, производственные зависимости, зависимости разработки, версии Node, с которыми он может работать, и т. Д. Файл package.json должен содержать все, что нужно NPM для загрузки и запуска вашего приложения (если вы пишете библиотеку многократного использования, вы можете использовать это определение для загрузки пакета в репозиторий npm и сделать его доступным для других пользователей).
Добавление зависимостей
Следующие шаги показывают, как вы можете использовать NPM для загрузки пакета, сохранить его в зависимостях проекта, а затем потребовать его в приложении Node.
Примечание: Здесь мы показываем инструкции для получения и установки пакета Express. Позже мы покажем, как этот пакет и другие уже указаны для нас с помощью Express Application Generator. Этот раздел предоставлен, потому что полезно понять, как работает NPM и что создаётся генератором приложений.
- Сначала создайте каталог для вашего нового приложения и перейдите в него:
mkdir myapp cd myappnpm init
Если вы отобразите файл package.json (cat package.json), вы увидите принятые по умолчанию значения, заканчивающиеся лицензией.
"name": "myapp", "version": "1.0.0", "description": "", "main": "index.js", "scripts": "test": "echo \"Error: no test specified\" && exit 1" >, "author": "", "license": "ISC" >
npm install express --save
Раздел зависимостей вашего package.json теперь появится в конце файла package.json и будет содержать Express.
"name": "myapp", "version": "1.0.0", "description": "", "main": "index.js", "scripts": "test": "echo \"Error: no test specified\" && exit 1" >, "author": "", "license": "ISC", "dependencies": "express": "^4.16.3" > >
const express = require("express"); const app = express(); app.get("/", (req, res) => res.send("Hello World!"); >); app.listen(8000, () => console.log("Example app listening on port 8000!"); >);
>node index.js Example app listening on port 8000Зависимости разработки
Если зависимость используется только во время разработки, вы должны вместо этого сохранить её как «зависимость разработки» (чтобы пользователям вашего пакета не приходилось устанавливать её в производстве). Например, чтобы использовать популярный инструмент JavaScript Linting eslint, вы должны вызвать NPM, как показано ниже:
npm install eslint --save-devСледующая запись будет добавлена в package.json вашего приложения:
"devDependencies": "eslint": "^4.12.1" >
Примечание: Примечание: «Линтеры» — это инструменты, которые выполняют статический анализ программного обеспечения, чтобы распознавать и сообщать о приверженности / несоблюдении некоторого набора лучших практик кодирования.
Запуск задач
В дополнение к определению и извлечению зависимостей вы также можете определить именованные скрипты в ваших файлах package.json и вызвать NPM, чтобы выполнить их с помощью команды run-script. Этот подход обычно используется для автоматизации выполнения тестов и частей набора инструментов разработки или сборки (например, запуска инструментов для минимизации JavaScript, сжатия изображений, LINT / анализа вашего кода и т. Д.).
Примечание: Для запуска тестов и других внешних инструментов могут также использоваться такие исполнители, как Gulp и Grunt.
Например, чтобы определить скрипт для запуска зависимости разработки eslint, которую мы указали в предыдущем разделе, мы могли бы добавить следующий блок скрипта в наш файл package.json (при условии, что наш источник приложения находится в папке / src / js):
"scripts": . "lint": "eslint src/js" . >
Чтобы пояснить немного подробнее, eslint src / js — это команда, которую мы могли бы ввести в нашем терминале / командной строке, чтобы запустить eslint для файлов JavaScript, содержащихся в каталоге src / js внутри каталога нашего приложения. Включение вышеупомянутого в файл package.json нашего приложения обеспечивает ярлык для этой команды — lint.
Затем мы сможем запустить eslint с помощью NPM, вызвав:
npm run-script lint # OR (using the alias) npm run lint
Этот пример может выглядеть не короче, чем исходная команда, но вы можете включить в свои сценарии npm гораздо более крупные команды, включая цепочки из нескольких команд. Вы можете определить один скрипт npm, который запускает все ваши тесты одновременно.
Установка Express Application Generator
Инструмент Express Application Generator создаёт «скелет» приложения Express. Установите генератор, используя NPM, как показано (флаг -g устанавливает инструмент глобально, чтобы вы могли вызывать его из любого места):
npm install express-generator -g
Чтобы создать приложение Express с именем «helloworld» с настройками по умолчанию, перейдите туда, где вы хотите его создать, и запустите приложение, как показано ниже:
Примечание: Вы также можете указать библиотеку шаблонов для использования и ряд других настроек. Используйте команду help, чтобы увидеть все параметры:
bash
--help
NPM создаст новое приложение Express в подпапке вашего текущего местоположения, отображая процесс сборки на консоли. По завершении инструмент отобразит команды, которые необходимо ввести, чтобы установить зависимости Node и запустить приложение.
Примечание: Новое приложение будет иметь файл package.json в своём корневом каталоге. Вы можете открыть это, чтобы увидеть, какие зависимости установлены, включая Express и библиотеку шаблонов Jade:
"name": "helloworld", "version": "0.0.0", "private": true, "scripts": "start": "node ./bin/www" >, "dependencies": "body-parser": "~1.18.2", "cookie-parser": "~1.4.3", "debug": "~2.6.9", "express": "~4.15.5", "jade": "~1.11.0", "morgan": "~1.9.0", "serve-favicon": "~2.4.5" > >
Установите все зависимости для приложения helloworld, используя NPM, как показано ниже:
cd helloworld npm install
Затем запустите приложение (команды немного отличаются для Windows и Linux / macOS), как показано ниже:
# Run the helloworld on Windows with Command Prompt SET DEBUG=helloworld:* & npm start # Run the helloworld on Windows with PowerShell SET DEBUG=helloworld:* | npm start # Run helloworld on Linux/macOS DEBUG=helloworld:* npm start
Команда DEBUG создаёт полезное ведение журнала, что приводит к выводу, подобному показанному ниже.
>SET DEBUG=helloworld:* & npm start > helloworld@0.0.0 start D:\Github\expresstests\helloworld > node ./bin/www helloworld:server Listening on port 3000 +0ms
Откройте браузер и перейдите по адресу http://127.0.0.1:3000/ , чтобы увидеть страницу приветствия Express по умолчанию.
Мы поговорим больше о сгенерированном приложении, когда перейдём к статье о создании каркасного приложения.
Резюме
Теперь на вашем компьютере установлена и запущена среда разработки Node, которую можно использовать для создания веб-приложений Express. Вы также увидели, как NPM можно использовать для импорта Express в приложение, а также как вы можете создавать приложения с помощью инструмента Express Application Generator и затем запускать их.
В следующей статье мы начнём работу с учебным пособием по созданию полноценного веб-приложения с использованием этой среды и связанных инструментов.
Смотрите также
- Downloads page (nodejs.org)
- Installing Node.js via package manager (nodejs.org)
- Installing Express (expressjs.com)
- Express Application Generator (expressjs.com)
- Назад
- Обзор: Express Nodejs
- Далее
В этом модуле
- Express/Node introduction
- Setting up a Node (Express) development environment
- Express Tutorial: The Local Library website
- Express Tutorial Part 2: Creating a skeleton website
- Express Tutorial Part 3: Using a Database (with Mongoose)
- Express Tutorial Part 4: Routes and controllers
- Express Tutorial Part 5: Displaying library data
- Express Tutorial Part 6: Working with forms
- Express Tutorial Part 7: Deploying to production (en-US)
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
This page was last modified on 3 авг. 2023 г. by MDN contributors.
Your blueprint for a better internet.
Как открыть node js через командную строку
В корневом каталоге каждого проекта есть один package.json Этот файл определяет различные модули, необходимые для этого проекта, и информацию о конфигурации проекта. Ниже приведен относительно полный файл package.json.
1. Поле скриптов
Задает аббревиатуру командной строки npm для запуска команды сценария, например start указывает запуск npm run start Когда, команда, которую нужно выполнить.
Элемент bin используется для указания местоположения исполняемого файла, соответствующего каждой внутренней команде.
Приведенный выше код указывает, vue Исполняемый файл, соответствующий команде, находится в подкаталоге bin.
Каталог проекта:
При самостоятельной разработке модулей, таких как модуль mymodule выше, если мы хотим использовать его в hello, мы можем использовать относительный путь require(‘./mymodule’) Загрузите модуль.
Вы также можете использовать собственный идентификатор модуля require(‘mymodule’), Узел загружает настраиваемые модули и должен быть установлен в глобале или проекте. node_modules В справочнике. Для вышеуказанных модулей решение является глобальным. node_modules В каталоге создается символическая ссылка, указывающая на локальный каталог модуля.
npm link Может играть эту роль, автоматически установит эту символическую ссылку.
- Представьте себе сценарий, в котором вы разработали модуль mymodule , Каталог hello/mymodule , Вам необходимо использовать этот модуль в собственном проекте, сначала в каталоге модуля ( src/mymodule ) Наезжать npm link команда.
Приведенная выше команда сгенерирует файл символьной ссылки в глобальном каталоге модулей NPM. Имя файла: package.json Имя модуля, указанное в файле.
В настоящее время он уже доступен mymodule Модуль.
На данный момент это можно решить, добавив путь:
Будет один в операционной системе PATH Переменная среды. Когда система вызывает команду, она будет искать ее в пути, зарегистрированном в переменной PATH. Если в зарегистрированном пути есть такая переменная, вызовите ее, в противном случае появится сообщение, что команда не найдена.
Что NODE_PATH Только NODE Используется в Найдите путь, предоставленный модулем для регистрации переменных среды . Мы можем использовать описанный выше метод, чтобы указать переменную окружения NODE_PATH.
Перейдите в каталог проекта и снова запустите npm link Command и укажите имя модуля.
Приведенная выше команда сгенерировала локальный модуль node_modules / mymodule, сопоставленный с глобальным node_modules / mymodule, и глобальное глобальное сопоставление с локальным hello / mymodule.
Затем вы можете загрузить модуль в свой проект.
Таким образом, mymodule Любые изменения в проекте могут быть напрямую отражены в проекте. Однако это также связано с риском. Любой участник каталога mymodule Модификация будет отражена в исходном коде модуля.
Если вашему проекту больше не нужен модуль, вы можете использовать его в каталоге проекта. npm unlink Команда для удаления символьной ссылки.
2. Исполняемый скрипт
Напишите простой скрипт привет
Добавьте узел #! / Usr / bin / env в заголовок файла, что означает, что этот узел используется в качестве интерпретатора сценария. Вы можете опустить узел ./hello и запустить напрямую ./hello. Путь к узлу можно найти через env. Избегайте проблемы с тем, что вас не могут найти из-за разных путей установки node.
включить/ usr / bin / env, вы можете просмотреть ПУТЬ, и операционная система находит узел по пути
Затем измените разрешения hello.
Если вы хотите удалить путь перед hello, вы можете добавить путь hello в переменную окружения PATH. Однако другой лучший подход — создать новый package.json в текущем каталоге и написать следующий контент.
Затем выполните команду npm link. Не понимаю
После выполнения будет сгенерирована связь глобального сопоставления. Исполняемый сценарий bin / hello сопоставляется с глобальными модулями node_modules / hello / hello, а глобальные модули node_modules / hello сопоставляются с локальным hello, так что вы можете использовать hello.
3. Параметры командной строки
Параметры командной строки можно получить с помощью системной переменной process.argv.
Измените сценарий приветствия
Среди них процесс — это глобальная переменная в процессе узла, process.argv — это массив, в котором хранятся различные части командной строки, argv [0] — путь установки узла, argv [1] — путь к основному файлу модуля, а все остальное Это подкоманда или параметр, например:
Скрипт может создать новый дочерний процесс через модуль child_process для выполнения системных команд Unix и изменения hello
exec Метод используется для выполнения команд bash, exec Метод может принимать не более двух параметров. Первый параметр — это выполняемая команда оболочки, а второй параметр — функция обратного вызова. Функция принимает три параметра: произошедшая ошибка, результат отображения стандартного вывода и отображение стандартной ошибки. результат.
Выполнить $ hello litongqian
Если мы хотим просмотреть все файлы, измените привет
Выполнить $ hello ls
В каталоге hello есть три файла
Четыре, модуль shelljs
Модуль shell.js переупаковывает child_process, что делает его более удобным для вызова системных команд. Его нужно использовать после установки.
Затем перепишите сценарий.
Пятый, модуль яргса
shelljs решает только то, как вызывать команды оболочки, а модуль yargs может решать, как обрабатывать параметры командной строки. Его тоже нужно установить.
Модуль yargs предоставляет объект argv для чтения параметров командной строки. Пожалуйста, смотрите переписанный привет.
При использовании можно использовать следующие два использования.
Другими словами, исходное возвращаемое значение process.argv выглядит следующим образом.
yargs можно заменить на объект с указанным выше результатом, и каждый элемент параметра представляет собой пару "ключ-значение".
Шесть. Выпуск командного пакета
Публикуйте через npm publish при условии, что у вас есть учетная запись npm. Как работать можно посмотретьофициальная документация npm。
В этой статье используется собственный node.js для разработки командных инструментов, а vue-cli использует commander.js для упрощения разработки командных инструментов.
Разберитесь в процессе выполнения, изучите соответствующие модули, и все в порядке !, эта статья бросает кирпич
Наконец: иногда используемая нами командная строка не устанавливается глобально, а устанавливается локально.
1. Поле bin package.json
Элемент bin используется для указания местоположения исполняемого файла, соответствующего каждой внутренней команде.
Приведенный выше код указывает, что исполняемый файл, соответствующий команде someTool, — это someTool.js в подкаталоге bin.
Когда проект зависит от инструмента someTool, указанного выше, он одновременно устанавливается только локально.
npm будет искать этот файл в node_modules/.bin/ Создайте символическую ссылку под каталогом. В приведенном выше примере someTool.js установит символическую ссылку npm_modules/.bin/someTool . из-за node_modules/.bin/ Каталог будет добавлен в системную переменную PATH при запуске, поэтому при запуске npm вы можете вызывать эти сценарии напрямую через команды без указания пути.
Следовательно, написание, подобное приведенному выше, может быть сокращено.
все node_modules/.bin/ Можно использовать все команды в каталоге npm run [команда] Форматировать для запуска. В командной строке введите npm run , А затем нажмите клавишу табуляции, чтобы отобразить все доступные команды.
1. npm run
В приведенном выше коде scripts В поле указаны две команды
npm run Команда автоматически попадет в переменную окружения $PATH добавить в node_modules/.bin Справочник, поэтому scripts Нет необходимости добавлять путь при вызове команды в поле, что позволяет избежать установки модуля NPM глобально.
npm run Если вы не добавляете никаких параметров, запустите напрямую, он будет перечислять package.json Все команды скрипта, которые можно выполнить внутри.
Npm имеет два встроенных сокращения команд, npm test Эквивалентно исполнению npm run test , npm start Эквивалентно исполнению npm run start 。
npm run Создаст оболочку, выполнит указанную команду и временно node_modules/.bin Добавьте переменную PATH, что означает, что локальный модуль можно запустить напрямую.
Например, вы выполняете команду установки ESLint.
После выполнения указанной выше команды будут получены два результата. Сначала ESLint устанавливается в текущий каталог. node_modules Подкаталог; во-вторых, node_modules/.bin Каталог сгенерирует символическую ссылку node_modules/.bin/eslint , Укажите на исполняемый скрипт модуля ESLint.
Тогда ты можешь package.json из script В атрибуте ссылка без пути eslint Этот скрипт.
Подожди, пока бежишь npm run lint Когда он автоматически выполнит ./node_modules/.bin/eslint . 。
Если вы бежите напрямую npm run Если параметры не указаны, они будут перечислены scripts Все команды в свойствах.
Аргументы командной строки в Node.js
Что такое аргументы командной строки (Command Line Arguments)?
Аргументы командной строки — это строки которые используются для передачи дополнительной информации перед запуском программы из терминала (CLI) операционной системы. Аргументы командной строки как правило содержат параметры конфигурации приложения, например, адрес порта HTTP сервера.
В большинстве случаев аргументы передаются после названия программы. Пример синтаксиса можно увидеть ниже:Параметром runtime может быть все что запускает приложение/скрипт, например, php, python, node, npm. В большинстве случаев аргументы должны быть разделены пробелом, хотя есть такие среды выполнения, которые используют запятые для различения нескольких параметров. Также, в зависимости от программы, аргументы можно передавать в формате ключ-значение.
Зачем использовать аргументы командной строки?
Среди основных преимуществ использования аргументов командной строки, можно выделить:
— информацию в приложении можно передать до его запуска. Это очень удобно при использовании большого количества конфигурационных параметров.
— аргументы командной строки передаются как строки в вашу программу. Тип данных String очень легко можно конвертировать в другой тип, что делает эти аргументы универсальными.
— можно передавать неограниченное количество параметров
— аргументы командной строки используются в связке с скриптами и пакетными файлами (batch file), что особенно полезно при автоматических тестах.Но есть один минус такого похода — довольно сложно научится использовать аргументы командной строки, если у вас не много опыта работы с терминалом.
Передача аргументов командной строки в Node.js
Как и другие языки, приложения на Node.js также принимают аргументы командной строки. Есть встроенная обработка таких параметров, но для более удобного использования стоить прибегнуть к сторонним библиотекам.
Использования process.argv
Самым простым способом получения аргументов командной строки в Node.js является их извлечении из массива process.argv. Это глобальный объект, его можно использовать без импорта сторонних библиотек. Просто передайте аргументы в приложение Node.js, и они будут доступны в process.argv.
Массив process.argv — это массив строк. Первым элементом будет ‘node’, вторым имя JavaScript файла, дальше все параметры, переданные при запуске.
Для новичков в программирование стоить отметить тот факт, что в JavaScript индексирование массивов начинается с нуля, как и в многих Си-подобных языках, это значит, что первый элемент будет иметь индекс- 0, последний длина массива минус 1.
Пример вывода параметров командной строки:
// вывод массива process.argvИспользование библиотеки minimist
Другим способом получения параметров командной строки в Node.js есть модуль minimist. Он позволяет парсить аргументы из массива process.argv и переводить в их в более легкие для использования ассоциативные массивы. В ассоциативных массивах можно получать элементы через оператора точка, как в обычно JS объектах.
Пример использования minimist:В коде выше используется метод slice, для удаления не нужных нам первых аргументов. Теперь при передаче параметров мы можем определить ключ по котором его можно будет получить. Так как в примере было использовано поле paramName, при запуске скрипта аргумент стоит передать так -paramName 5000
Пример запускаМодуль minimist не настолько мощный как yargs, описанный ниже, но все же содержит несколько удобных функций, таких как значение по умолчанию и псевдонимы.
Если был задан псевдоним, то при вызове функции можно не передавать полное название, это особенно удобно если вы хотите добавить сокращения.
Использование псевдонимов (alias)Вызов этого скрипта с аргументом -v установит v: true and version: true
Также модуль minimist позволяет задать параметры по умолчанию.
Запуск этого скрипта без параметров -databaseUrl и -password, установит значение по умолчанию для этих параметров
Использование модуля yargs
Модуль yargs также является библиотекой для обработки аргументов командной строки. Он позволяет передавать параметры в формате ключ/значение и последующее получение по ключу.
Для установки модуля yargs нужно сначала его установить
Напишем простой скрипт
В коде выше значение параметра port выводится в консоль. Если при запуске не передать значения будет undefined.
Пример запускаСреди полезных функций модуля yargs стоит выделить метод .command(), который позволяет создавать, и вызвать функции Node.js из командной строки. Рассмотрим пример использования этого метода:
Запуск этого скрипта с параметром «dump_db» вызовет функцию которая была передана в инициализации. Также можно задать аргументы для этой функции, например, имя файла в который нужно записать backup базы даних.
Node.js: как подключиться к запущенному процессу и отладить сервер с помощью консоли?
Я использую слово «навсегда» для запуска своего приложения. Я хочу подключиться к рабочей среде, чтобы проверить свое приложение. Так что я могу сделать?
7 ответов
Расширенное использование
Отладчик V8 может быть включен и доступен либо путем запуска Node с флагом командной строки —debug, либо путем сигнализации существующему процессу Node с помощью SIGUSR1.
Найдите PID вашего процесса node , и отправка SIGUSR1 должна помочь:
Затем запустите node-inspector и перейдите к указанному URL. Подробнее читайте в этом руководстве.
Чтобы проверить nodejs и отладить его, используйте эту команду
forever -w -c ‘node —inspect=IP:PORT’ file.js
- -c для пользовательской команды
- используйте -w для перезагрузки , если файл повторно сохраняется .
- Вы можете передать IP-адрес и порт для внешней проверки
- пользовательский порт: 9229
Даже на этот старый вопрос, на который еще нет ответа, есть более простой способ — передать параметры в узел:
Если вы не хотите ждать подключения отладчика, замените —debug-brk на —debug
Пользователи Windows
Если вы работаете в Windows, которая не поддерживает сигналы POSIX, вы можете использовать этот обходной путь из другого cmd .
- В VSCode откройте конфигурацию launch.json или создайте новую, щелкнув колесико
(это вид отладки Ctrl Shift D )

- Узел будет прослушивать порт 9229 по умолчанию , поэтому добавьте эту конфигурацию:
- Откройте диспетчер задач и найдите PID процесса вашего узла
Я мог идентифицировать меня по папке «build» , где находится index.js . - откройте другой cmd или git-bash и запустите эту команду,
где 21392 — это PID вашего процесса.
- вы должны увидеть это
- Начать отладку из VSCode Присоединиться к 9229
Теперь все должно быть готово.
Вы можете добавить в свое приложение REPL. Например, если вы добавляете REPL для прослушивания порта локального хоста 5001, вы запускаете приложение как обычно и входите в систему с помощью telnet: telnet localhost 5001 . Это приведет вас к подсказке, где вы можете напрямую взаимодействовать со своим приложением.
В качестве альтернативы, если вам нужно, чтобы ваше приложение «приостанавливало» при достижении определенного состояния, вам нужно добавить «отладчик»; строк в области вашего кода, где вы хотите установить эти точки останова, а затем запустите приложение в режиме отладки.
Надеюсь, это поможет.
Для меня при запуске узла версии 6.9.10 мне пришлось:
Команда node inspect -p не удалась для этой версии узла.
Начиная с узла 6.3 , узел имеет встроенный отладчик, который можно запустить (даже в производственном приложении), выполнив следующие действия:
Процесс узла выдаст что-то вроде этого:
-
Если вы можете получить доступ к серверу из браузера, вы можете использовать chrome://inspect в http://host.domain:9229 .
Если вы не можете подключиться через браузер (например, сервер находится в производственном кластере с брандмауэром), вы можете активировать REPL для проверки через командную строку:
До этой версии node-inspector был отдельным инструментом для отладки процессов узла. Однако, как описано на его собственной странице, он в основном не рекомендуется, так как теперь уже включенный отладчик активно поддерживается и предоставляет более продвинутые функции. Дополнительную информацию об этом изменении см. В этой теме.
argv — необработанные аргументы командной строки в Node.js
Людям, приходящим из мира клиентского JavaScript-а, не приходилось иметь дело с командной строкой, но если Вы пишете серверное приложение, то высока вероятность, что придётся столкнуться с консолью в Linux/Unix. (А если вам не повезло, тогда, может быть, даже и с командной строкой MS Windows)
Node.js предоставляет простой способ доступа к сырым данным, передаваемым в командной строке.
В общем случае в командной строке вы можете передать все типы значений:
Список имен: node app.js file1 file2
Пары ключ-значение: node app.js —port NUMBER —dir PATH
Флаги, без значений: node app.js —debug —verbose
Может быть, вам даже захочется передать односимвольные флаги: node app.js -d -v
И их даже можно комбинировать: node app.js -dv —port NUMBER —dir PATH file1 file2
По умолчанию Node.js предоставляет объект process, содержащий элемент argv, который является массивом всех значений, полученных из командной строки:
examples/node/raw_command_line_arguments.js
Прим.: вам даже не нужно загружать process вручную, так как он загружен по умолчанию.
Запустив команду: node examples/node/raw_command_line_arguments.js -dv —port NUMBER —dir PATH file1 file2
Первый элемент — всегда node .
Второй элемент — имя файла для исполнения.
Оставшиеся элементы — значения, переданные в командной строке после имени файла.
В принципе, это просто список всех значений, которые вы ввели в командной строке.
Вы можете пройти циклом по этому массиву с помощью for или forEach и получить эти значения. Способ подойдет для большинства простых случаев, но чаще параметры довольно сложные, и лучше использовать специальную библиотеку.
В качестве примера я нашел вот эти: minimist, nomnom и yargs (fork от node-optimist)
Пока не могу ничего сказать про них, но думаю, если нужно будет работать с более сложными аргументами, то придется попробовать что-нибудь из этого.
Полезные сниппеты для скриптов, работающих из командной строки
Когда вам не нужно обрабатывать множество аргументов командной строки, но вы все еще хотите быть уверенными, что пользователь передал какое-то значение, то можете использовать следующий прием:
examples/node/argv.js
В этом примере мы проверяем, что количество элементов в массиве process.argv меньше или равно 2. Я не знаю, может ли оно вообще быть меньше 2, но если оно равно 2, тогда мы точно знаем, что пользователь не передал никаких параметров в командной строке. Затем мы выводим строку «Usage: «, имя нашего файла ( __filename содержит имя текущего файла) и некоторую информацию о том, чего мы ожидаем получить от пользователя. Возможно, вместо фразы » SOME_PARAM» вы захотите написать что-то более конкретное. К примеру, «MACHINE_NAME», если нужно указать имя машины, или «URL», если нужно указать URL.
Затем мы вызываем команду exit, чтобы завершить работу, так как больше нет смысла продолжать выполнение программы, не получив необходимых параметров.
Похожие публикации:
- Где учить css
- Для чего служит модель css flexbox
- Как сделать рамку для картинки в css
- Как сделать свечение css
Как открыть корзину из командной строки Windows?
Я был бы очень рад, если есть встроенная команда Windows.
Вы имеете в виду окно корзины или просто каталог? Это должно быть для всех дисков или конкретного?
Командная строка
В командной строке введите
start shell:RecycleBinFolderОн не чувствителен к регистру, так что вы можете просто напечатать start shell:recyclebinfolder .
Запустить диалог
В качестве альтернативы можно использовать диалоговое окно «Выполнить» (меню «Пуск» / «Выполнить» или « Win +» R ). Тип
shell:RecycleBinFolderи нажмите ОК (или нажмите Enter ).
Это портативный!
Этот метод работает во всех версиях Windows, по крайней мере, до Windows 2000 .
( В зависимости от операционной системы и файловой системы, каталог может быть $Recycle.bin , Recycled или Recycler .)
-
Чтобы открыть окно корзины (с удаленными объектами на всех дисках): C:\> start ::
или
C:\> start shell:RecycleBinFolder
или
C:\> start C:\$Recycle.binВ Windows 7 start C:\$Recycle.bin просто дал мне пустой каталог. Мне нужно было использовать start shell:RecycleBinFolder
Эта команда не показывает файлы в этом каталоге, потому что они являются супер скрытыми файлами. Вы должны использовать решение Super Hidden. Перейдите: Инструменты> Параметры папки> Просмотр и выберите «Показать скрытые папки и диски» и снимите флажок «Скрыть защищенные файлы операционной системы».
Вы можете открыть окно корзины, используя его GUID :
explorer ::
Это работает в Windows 7, в командном окне. И он обычно открывает корзину: то есть показывает исходные имена файлов.
Это должно работать. Протестировано на Windows 7 успешно.
Откройте командную строку и введите
CD \$Recycle.BinЗдорово! Как вы смотрите файлы в RecycleBin таким образом? Дир не работает для меня. Вы также можете очистить корзину?
В Windows 7 для просмотра файлов введите в командной строке следующее (хотя, если в корзине много файлов, результаты, возможно, будут прокручиваться с вашего экрана), но этот метод не покажет вам исходные имена файлов: DIR / A / S
Чтобы сохранить список в файле журнала, введите следующее: DIR / A / S> C: \ LOG.TXT
Windows button на клавиатуре + R ; затем введите « shell:RecycleBinFolder » и нажмите Enter : Это приведет вас в папку корзины и покажет удаленные элементы.
Элементы, удаленные с помощью « Shift + Delete », не будут доступны в Корзине, поскольку они будут удалены без возможности восстановления. Эти элементы можно восстановить с помощью программного обеспечения для восстановления данных, такого как Easerus data recovery
Пробовал и отлично работал на Windows 10.
Добро пожаловать в Супер пользователя! Это дублирует другой ответ и не добавляет новый контент. Пожалуйста, не публикуйте ответ, если у вас нет чего-то нового.
Немного о Shift + Delete новинке в теме и актуально (ИМХО).
Ни одна из предыдущих команд запуска для корзины не работала на моем компьютере с Windows 10. start shell:RecycleBinFolder Внутри окна командной строки работал. Однако я не смог найти способ, чтобы система отображала обычный значок на рабочем столе. Ни одно из решений не сработало. Однако мне удалось воссоздать значок, сделав ярлык Internet Explorer:
Target = "C:\Program Files\Internet Explorer\iexplore.exe" shell:RecycleBinFolderЗатем измените значок на ожидаемый значок, просмотрев файл DLL значка оболочки. Теперь у меня есть это обратно .
Зачем нужна командная строка и как ей пользоваться
Илья – главный редактор сайта softdroid.net. Является автором нескольких сотен руководств и статей по настройке Android. Около 15 лет занимается ремонтом техники и решением технических проблем iOS и Android. Имел дело практически со всеми более-менее популярными марками мобильных смартфонов и планшетов Samsung, HTC, Xiaomi и др. Для тестирования используется iPhone 12 и Samsung Galaxy S21 с последней версией прошивки.
Командная строка – важнейший инструмент, посредник между пользователем и операционной системой. Хотя в век мобильных телефонов и графических ОС, где все максимально упрощено, командная строка используется по назначению очень редко, иногда она просто незаменима даже для неопытных пользователей.
В этой статье вы узнаете о разных способах запуска командной строки (то есть, консоли), в Windows. Хотя все методы демонстрируются на примере Windows 10, они также работают в ранних ОС, включая Windows 7 и 8.
Содержание руководства:
Запуск командной строки из меню опытного пользователя
В Windows 10 есть быстрое меню с основным набором системных утилит и разделов. Соответственно, через него можно запустить консоль:

- Используйте комбинацию клавиш Windows+X для того, чтобы открыть меню опытного пользователя (Power user).
- Выберите “Командная строка” или “Командная строка (администратор)”.
- В некоторых версиях Windows пункт может называться Windows PowerShell или Windows PowerShell (администратор).
Запуск консоли из окна Менеджера задач
- Откройте Диспетчер задач: правая кнопка мыши на панели задач > Диспетчер задач.

- Откройте меню Файл > Запустить новую задачу.
- В окне "Создание задачи" введите cmd (или cmd.exe).
- Чтобы запустить консоль с правами администратора, отметьте одноименную опцию.

- Подтвердите ввод, нажав OK.
- Откроется командная строка.

Запуск консоли от имени администратора (быстрый способ)
Командная строка в режиме администратора бывает необходима в случае, если используемой команде нужны расширенные полномочия, например, доступ к диску, файлы на который может записать только администратор.
Открыть командную строку можно так:
- Откройте Диспетчер задач.
- Откройте меню Файл.
- Зажав Ctrl, кликните по пункту “Запустить новую задачу”.
- Таким образом, работа с командной строкой будет осуществляться от имени администратора.
Как открыть командную строку через «Пуск»
Вы можете легко открыть командную строку классическим методом, как и любую программу под Windows:
- Нажмите на кнопку «Пуск».
- Введите «cmd» в поле поиска.

- Чтобы открыть командную строку с привилегиями администратора,
- Щелкните правой кнопкой мыши по строке cmd.
- Выберите «Запуск от имени администратора».

Если вы используете голосовой ввод, просто нажмите на значок микрофона в поле поиска Cortana и произнесите «Запустить командную строку».
Запуск командной строки через Проводник
- Откройте Этот компьютер (Мой компьютер) через ярлык на Рабочем столе или Проводник.

- Перейдите в папку C:\Windows\System32.
- Найдите файл cmd.exe, сделать это можно через строку поиска.

- Кликните по файлу cmd.exe.
- Для запуска в режиме администратора
- откройте контекстное меню файла (правая кнопка мыши).
- выберите Запуск от имени администратора.
Запуск через меню Выполнить

- Используйте клавиатурное сочетание Windows+R.
- Введите в текстовое поле cmd > OK.
- Чтобы выполнить от имени администратора, вместо Enter используйте комбинацию Ctrl+Shift+Enter.
Как открыть папку в командной строке
Часто требуется перейти в папку и оттуда запустить cmd. Можно через консоль перейти в нужную локацию посредством команд, но как правило, это длительный процесс. Чтобы командная строка сразу же находилась в определенной папке, выполните следующее:

- Откройте Проводник.
- Перейдите в нужную папку.
- Команда Файл > Открыть командную строку (или Запустить PowerShell).
- Также можно зажать правую кнопку мыши + Shift, в контекстном меню выбрать Открыть командную строку здесь (или Открыть окно PowerShell здесь).

Создание ярлыка для вызова командной строки
Если вы часто запускаете командную строку, создайте ярлык на Рабочем столе. Так вы сможете запускать консоль по нажатию иконку. Добавить ее – проще простого:
- В контекстном меню (правая кнопка мыши) на Рабочем столе: Создать > Ярлык.

- Введите cmd.exe > Далее.

- Назовите ярлык (Например, “Консоль”) и нажмите на кнопку Завершить.
- Если нужно дать полномочия администратора,
- зайдите в Свойства > Ярлык > Дополнительно. и отметьте флажком “Запуск от имени администратора”.

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

- зайдите в Свойства > Ярлык > Дополнительно. и отметьте флажком “Запуск от имени администратора”.
