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

Package.json generation/npm неиспользуемые пакеты

Я представляю модульное тестирование в своем проекте, и для этого мне нужно сделать файл package.json.

Первый вопрос, который unit testing suite вы используете? Я с нетерпением жду mocha, который, кажется, довольно стандартный для проектов Node.js.

Второй вопрос: есть ли волшебный способ создания файла package.json? (для зависимостей и версий)

Третий вопрос: Я тестировал много npm packages при разработке моего проекта, и теперь я застрял с множеством, вероятно, неиспользуемых пакетов. Есть ли способ сказать, какой из них бесполезен? (Я видел npm list installed, который полезен, хотя)

4b9b3361

Ответ 1

  • Я также использую Mocha. Он имеет покрытие кода, BDD, TDD, работает в браузере. Он довольно полный, и в значительной степени поддерживается, я думаю, один из самых ярких javascript/ node.js-программистов с именем TJ.

  • Почти невозможно догадаться, какую версию использовать. Потому что npm не знает, какая версия ломает зависимости. Вероятно, вы могли бы установить все зависимости, используя что-то вроде node-detective. Затем вы можете просто установить их с помощью npm.js из javascript. Возможно, я хотел бы заняться этим в будущем.

  • Я также, вероятно, удалю все зависимости, а затем установите необходимые зависимости, используя шаг (2). Но и дисковое пространство больше не является таким большим случаем с текущими HD-экранами.

P.S: Думаю, я согласен с Домеником

Ответ 2

  • Я использую Mocha.

  • npm init

  • npm ls перечислит "посторонние" рядом с теми, которые не находятся в вашем пакете. json. Но, похоже, у вас еще нет пакета .json.


В принципе, ваш рабочий процесс очень отсталый. Вот как это работает:

  • Запустите новый проект с npm init. Он не имеет зависимостей.
  • О, я хочу начать использовать пакет, скажем express? Добавьте его в package.json в зависимости от зависимостей, затем запустите npm install.
  • О, я хочу начать использовать пакет для разработки, скажем mocha? Добавьте его в package.json под devDependencies, затем запустите npm install.

У вас, похоже, есть существующий код с установленными вручную пакетами (через npm install <packageName>), что является беспорядком. Я предлагаю начать и выполнить описанный выше рабочий процесс.

Ответ 3

Чтобы ответить на третий вопрос:

npm prune

удалит все установленные модули, которые больше не упоминаются в вашем package.json.


И вы действительно должны были задать три отдельных вопроса.

Ответ 4

  • Я использую обеты. Это довольно хорошо, но не идеально. Я обнаружил, что модульное тестирование в node часто бывает сложным из-за асинхронных обратных вызовов в dbs и т.д., И они в основном тестировали функциональность верхнего уровня.

  • Здесь ваша магия: Управление Node.js Зависимости с Shrinkwrap.

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

Ответ 5

Отвечая на ваш третий вопрос, вы можете использовать Sweeper для отображения неиспользуемых зависимостей, и они удаляют их из ваш пакет .json. Просто npm install -g sweeper, затем в каталоге проекта вызовите sweeper в командной строке.