Package.json generation/npm неиспользуемые пакеты
Я представляю модульное тестирование в своем проекте, и для этого мне нужно сделать файл package.json
.
Первый вопрос, который unit testing suite
вы используете? Я с нетерпением жду mocha
, который, кажется, довольно стандартный для проектов Node.js
.
Второй вопрос: есть ли волшебный способ создания файла package.json
? (для зависимостей и версий)
Третий вопрос: Я тестировал много npm packages
при разработке моего проекта, и теперь я застрял с множеством, вероятно, неиспользуемых пакетов. Есть ли способ сказать, какой из них бесполезен? (Я видел npm list installed
, который полезен, хотя)
Ответы
Ответ 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
в командной строке.