Изучение флагов командной строки NodeJS с примерами

NodeJS - это асинхронная среда выполнения javascript, управляемая событиями, для серверных приложений. Текущая версия nodejs - 15, и вы можете установить ее по этой ссылке здесь. Вы можете щелкнуть любую ссылку LTS, и пакет NodeJS будет загружен, и вы сможете установить его на свой ноутбук.

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

  • Предварительные требования
  • REPL
  • Параметры командной строки печати
  • Проверка синтаксиса
  • Оценка кода с флагом -p
  • Оценка кода с флагом -e
  • Модули предварительной загрузки
  • Предел трассировки стека
  • Проверка приложения NodeJS с помощью инструментов разработчика Chrome
  • Листинг дерева зависимостей
  • Инициализация проекта NodeJS
  • Заключение

Предварительные требования

Есть некоторые предварительные условия для этого поста: вам нужно установить NodeJS на свой компьютер и VSCode в руке. Убедитесь, что вы установили и NodeJS, и VSCode, перейдя по этим ссылкам. Вы можете проверить версию узла с помощью этой команды node -v.

REPL

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

node

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

Параметры командной строки печати

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

node --help

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

node --v8-options

Проверка синтаксиса

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

node -c app.js
    or
node --check app.js

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

В следующем файле есть некоторые синтаксические ошибки в строке 7. Если запустить указанную выше команду со следующим файлом, она выдаст ошибку.

Оценка кода с флагом -p

Мы можем напрямую оценить код и распечатать результат в оболочке с помощью следующей команды. Это действительно полезно для быстрой проверки кода.

node -p "1+1"
    or
node --print "1+1"

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

Оценка кода с флагом -e

Мы можем напрямую оценить код в оболочке с помощью следующей команды. Это действительно полезно для быстрой проверки кода.

node -e "1+1"
     or 
node --eval "1+1"

Это не выводит никаких результатов, когда вы сравниваете их с флагом --print.. Это печатает ошибку, если она есть, как показано ниже.

Модули предварительной загрузки

Бывают ситуации, когда вам нужно предварительно загрузить некоторые модули, прежде чем что-либо еще. Вы можете сделать это с помощью команды -r or --require.. Например, у нас есть эти два файла, и я хочу загрузить preload.js перед file.js. Мы можем сделать это с помощью следующей команды.

node -r ./preload.js file.js

Предел трассировки стека

Вы можете контролировать количество отображаемых кадров стека при возникновении ошибки с помощью следующей команды. По умолчанию NodeJS показывает 10 кадров стека.

node --stack-trace-limit=68 app.js

Это действительно полезно, когда вы ищете более 10 кадров стека для отладки приложения NodeJS.

Проверка приложения NodeJS с помощью инструментов разработчика Chrome

NodeJS поддерживает протокол удаленной отладки Chrome Devtools, и браузер Chrome также поддерживает его, так что вы можете его отлаживать. Вы можете запустить приложение в режиме проверки с помощью любой из следующих команд.

node --inspect app.js
or
node --inspect-brk app.js

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

// clone the project
git clone https://github.com/bbachi/nodejs-debugger-express.git
// install and start
npm install
node app.js

Экспресс-приложение прослушивает порт 3040. Сейчас мы сосредоточены на отладке, поэтому запустите приведенную ниже команду, чтобы мы могли отлаживать экспресс-приложение так же, как и в приведенных выше разделах.

node --inspect-brk app.js

Листинг дерева зависимостей

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

npm ls

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

Инициализация проекта NodeJS

Вы можете инициализировать пакет NodeJS с помощью следующей команды. Он задает вам кучу вопросов и создает файл package.json со всем этим.

npm init

Если вам нужны все значения по умолчанию, вы можете просто использовать команду с флагом -y,, она создает package.json напрямую, не задавая вопросов.

npm init -y

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

Заключение

Есть так много других опций, но это самые распространенные флаги командной строки, которые мы часто используем.