Node.js надо инсталлировать в каждый проект, или можно «извне» задавать директорию глобальных пакетов?
Node.js надо инсталлировать в каждый проект, или можно "извне" задавать директорию глобальных пакетов?
У меня Node.js стоит в папке C:\Program Files\. И есть несколько сайтов, каждый в своей домашней_директории. Для одного сайта я настраиваю в Node.js директорию глобальных пакетов; если надо с другим сайтом работать, эту директорию надо переопределить?
Хочу понять идею - Node.js должен ставиться на каждый сайт? (В данном случае речь про локальный сервер.) Если у меня 5 сайтов (каждый в своей директории), то для каждого свой "дистрибутив" Node.js должен быть?
Или может стоять 1 Node.js, обслуживающий несколько проектов?
Обычно бинарник (node.exe или что там в винде) один на всех.
Иногда проекты не работают со очень старыми или очень новыми версиями ноды. В таком случае можно посмотреть на инструменты вроде nvm-windows https://github.com/coreybutler/nvm-windows
> Обычно бинарник (node.exe или что там в винде) один на всех.
И в нём прописываются несколько директории глобальных пакетов - своя для каждого проекта?
> вы про Node.js или про пакеты в node_modules?
Я пытаюсь поставить-подключить полифилл на сайт. Его надо скачать с npm. Это делается с помощью Node.js. В частности, для этого можно организовать директорию глобальных пакетов (нужно это или нет - сейчас неважно). Вот я и думаю: если одну такую директорию для одного сайта пропишу, то для других сайтов как потом с этим быть?
npm по умолчанию ставит все пакеты в папку node_modules внутри папки проекта
node.js а так же бандлеры вроде webpack или rollup по умолчанию ищут модули в папке node_modules внутри проекта
Глобально ставить ничего не нужно, это чревато проблемами с конфликтом версий и ошибками из-за этого. Глобально можно установить только терминальные утилиты используемые вне проектов (например глобальный eslint может понадобится IDE) и вот тут как раз таки стоит заморочиться настройкой, чтоб они устанавливались и работали из папки пользователя и им не нужны были административные права для установки и обновления.