Подтвердить что ты не робот

Можно ли использовать собственное имя каталога вместо 'node_modules' при установке пакетов узлов?

Я создаю package.json, я запускаю npm install, он работает хорошо. Он создает каталог node_modules в моей корневой папке (которую я могу изменить с помощью опции --prefix). Тем не менее, мне не нравятся подчеркивания. Я хочу изменить имя каталога, в котором NPM загружает модули. Я хочу, чтобы он назывался nmods или node-modules или что-то в этом роде.

Bower может сделать аналогичную вещь, читая свойство directory внутри файла .bowerrc в текущем каталоге. Есть ли способ сделать то же самое с NPM?

4b9b3361

Ответ 1

Нет способа изменить это. Папка node_modules на самом деле не относится к NPM, она является частью системы загрузки модулей ядра Node. Видно здесь, в module.js.

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

Ответ 2

Пряжа, вы можете легко достичь этого, добавив файл с именем .yarnrc с таким содержанием:

# ./.yarnrc
--modules-folder lib

В следующий раз, когда вы запустите 'yarn', она создаст папку lib и установит туда пакеты, а не в node_modules.

Теперь, если бы только мы могли заставить 'npm install' быть такой же умной.

Ответ 3

Нет возможности изменить его в npm, однако есть возможность настроить его в менеджере пакетов пряжи.

yarn install --modules-folder <path>