В чем разница между командой, которую выполняет yarn run [dev], и ее реализацией ванильного узла? - PullRequest
1 голос
/ 17 июня 2020

Это мой пакет. json файл. Как вы можете видеть, у него есть команда dev, которую я могу выполнить с помощью yarn dev Package.json

Я подумал, что если я скопирую команду, которую запустит yarn dev это node .electron-nuxt / dev. js --inspect Я мог бы запустить команду вне пряжи (чтобы прикрепить скрипт к моему отладчику с помощью node). Но когда я скопировал эту точную команду, она не выдала ошибок и ничего не сделала. Почему yarn dev работает, но не node .electron-nuxt / dev. js --inspect , если они указывают на один и тот же фрагмент кода?

1 Ответ

1 голос
/ 17 июня 2020

Это происходит из-за того, как npm / yarn находит исполняемые файлы. Это называется режимом работы, и в основном это то, как эти менеджеры пакетов разрешают и выполняют модули.

Хотя оба ведут себя по-разному, основная операция по-прежнему схожа. Есть два режима: локальный и глобальный. менеджер пакетов сначала пытается разрешить модуль в локальном режиме; это из каталога, в котором вы запускаете скрипт. Если он не нашел его, он пытается разрешить его из глобальной области.

Итак, чтобы ответить на ваш вопрос, yarn выполнить файл из глобальной области.

  • Ресурсы

Как узел разрешает модули Node.js документы

Проблема node_modules Документы пряжи

...