что означает опция mpv в Node? - PullRequest
0 голосов
/ 14 января 2020

Я хотел использовать опцию mpv для моего проекта Node, но, похоже, эта опция уже зарезервирована.

$ npm --mpv

output: 6.5.0

на что указывает опция mpv?

и есть ли способ использовать опцию mpv для моего проекта Node?

Ответы [ 2 ]

1 голос
/ 14 января 2020

TLDR

Вы можете использовать --mpv в качестве аргумента для вашего node.js проекта. Нет ничего, что могло бы заставить его не работать.

Пример:

// example.js
if (process.argv[2] == '--mpv') {
  console.log('hooray');
}

Сценарий, приведенный выше, напечатает hooray, если вы запустите его с --mpv в качестве аргумента:

$ node example.js --mpv
hooray

Подробности:

Команда npm по некоторым причинам обрабатывает параметры -- так же, как параметры -. Таким образом, команда:

npm --mpv

как-то интерпретируется как

npm -m -p -v

Ни m, ни p ничего не делают и игнорируются вместо выдачи ошибок. Но опция v выводит номер версии. Таким образом, команда такая же, как

npm -v

Обратите внимание, что npm не является node.js. Узел не ведет себя одинаково и выдает ошибку:

$ node --mpv
node: bad option: --mpv

Действительно, проект npm явно объявляет себя не менеджером пакетов узла, даже если npm теперь управляется node.js Проект напрямую. Npm может развертывать пакеты, написанные на других языках, таких как Ruby (например, оригинальный проект Sass, теперь переписанный в js), Python или даже C и сборка.

0 голосов
/ 14 января 2020

--mpv не является зарезервированной опцией, как и любая другая последовательность. Сам узел принимает много параметров , но все, что в командной строке после имени вашего сценария передается непосредственно process.argv.

Другими словами, следующие действия имеют два различных поведения:

$ node --inspect script.js # enables node's built-in debugger; process.argv = ['node', 'script.js']
$ node script.js --inspect # process.argv = ['node', 'script.js', '--inspect']

Кроме того, --mpv не появляется в документации npm. Я подозреваю, что CLI npm неправильно интерпретирует --mpv как -v и печатает номер его версии.

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