Когда требуется для пакета npm, что означает слэш в имени пакета?
В то время как "требующие" нелокальные модули NodeJS, в чем смысл слэша в имени модуля?
Пример:
с сайта gmail.com на сайте ShellJS npm (ссылка: https://github.com/shelljs/shelljs#javascript)
require('shelljs/global');
require('shelljs/make');
Посмотрев на структуру каталогов проекта ShellJS github, я заметил, что оба global.js и make.js находятся на уровне уровня . js, который является основной точкой входа модуля в соответствии с его пакетом. json. Итак, что означает слэш в названии пакета и как в приведенном выше примере путь к "глобальному" и "сделать" разрешен?
Ответы
Ответ 1
Slash (как основное использование) просто используется для путей к файлам.
require('shelljs/global')
загрузит script файла global.js
.
require('shelljs/make')
загрузит script файла make.js
.
Однако require('shelljs')
загрузит script из shell.js
.
Зачем? Давайте посмотрим на содержимое package.json
: It "main": "./shell.js"
, которое делает магию.