npm - це менеджер пакунків за замовчуванням для Node.js. Facebook давно розробляє альтернативне рішення для управління пакетами під назвою Пряжа . Здається, пряжа повільно зникає з readmes Github як стандартне рішення, а статистика на офіційному сайті показує, що пряжа здійснює лише частину пакетів. Тим не менш, варто думати нестандартно.
Пряжа повністю сумісна з існуючими файлами package.json - тому ви можете без проблем використовувати обидва рішення для існуючих проектів. Команди двох рішень відрізняються лише незначно. Ось порівняння найважливіших команд:
Опис | нм | Пряжа |
Ініціалізувати | npm init | пряжа ініція |
Оновлення | npm встановити -g npm | самообновлення пряжі |
Встановити пакет | npm встановити --save [ім'я] | пряжа додати [ім'я] |
Встановити пакет | npm встановити --save-dev [ім'я] | пряжа додати --dev [ім'я] |
Встановіть пакет глобально | npm встановити -g [ім'я] | пряжа глобальне додавання [ім’я] |
Встановіть усі пакунки | npm встановити | встановити пряжу |
Оновіть всі пакети | npm оновлення | оновлення пряжі |
Видаліть пакет | npm видалити [ім'я] | пряжа видалити [назва] |
Пряжа почала з метою вирішення деяких слабких сторін npm. Найбільш очевидна різниця полягає у вищій продуктивності: завдяки додатковим інсталяціям, багатопотоковості та новітній вбивчій функції Plug'n'Play (PNP) продуктивність різко зростає. Plug'n'Play відкидає ідею папки node_modules на основі проекту, кількість файлів, яка часто може зрости до астрономічних висот . Ви можете дізнатись більше про це в офіційному доповіді на Plug'n'Play. Ми встановлюємо eslint один раз з npm, а потім з пряжею з розігрітим кешем в кожному випадку, щоб зробити різницю в швидкості (6x!):