package.json生成/ npm未使用的包

我在我的项目中引入了unit testing,为此,我需要使自己成为一个package.json文件。

第一个问题是,你正在使用哪个unit testing suite ? 我期待mocha ,这似乎是非常标准的Node.js项目。

第二个问题是:有什么不可思议的方式来生成一个package.json文件? (对于依赖和版本)

第三个问题是:在开发我的项目的过程中,我一直在testing大量的npm packages ,现在我遇到了很多可能未使用的包。 有什么办法可以告诉哪一个是无用的? (我看到npm list installed哪个是有用的,虽然)

  1. 我也使用摩卡。 它具有代码覆盖,BDD,TDD,运行在浏览器中。 这是相当完整的,也是由我认为最聪明的JavaScript / node.js程序员之一,名为TJ严重维护。

  2. 猜测使用哪个版本几乎是不可能的。 因为npm不知道哪个版本中断哪个依赖关系。 你可以使用类似node-detective的东西来安装所有的依赖关系。 然后你可以使用JavaScript中的npm.js来安装它们。 也许我想在未来解决这个问题。

  3. 我也可能会删除所有的依赖,下一步使用步骤(2)安装所需的依赖关系。 但是现在的HD也不是一个大盘子。

PS:我想我也同意Domenic

  1. 我正在使用摩卡。

  2. npm init

  3. npm ls会列出不在你的package.json中的“extraneous”。 但是,这听起来像你还没有package.json。


基本上,你的工作stream程是非常落后的。 这是如何工作的:

  1. npm init启动一个新项目。 它没有依赖关系。
  2. 哦,我想开始使用一个包, express ? 将它添加到依赖项下的package.json ,然后运行npm install
  3. 哦,我想要开始使用一个包的发展,说mocha ? 将它添加到devDependencies下的devDependencies ,然后运行npm install

你似乎有一些手动安装的程序包(通过npm install <packageName> ),这是一个混乱的代码。 我build议从上面的工作stream程开始。

回答第三个问题

npm prune

将删除package.json中不再提及的所有已安装的模块。


你真的应该问三个不同的问题。

  1. 我正在使用誓言。 这很不错,但不完美。 我发现节点中的unit testing往往是具有挑战性的,因为对dbs等的asynchronouscallback,并且主要是testing顶级function。

  2. 这是你的魔力: 用Shrinkwrappipe理Node.js依赖 。

  3. 知道你使用什么软件包的唯一方法就是知道。 你不能以编程方式生成这个。 我的build议是积极地删除软件包,然后重新testing所有的function – 如果中断,你会知道你需要重新安装你的软件包。

回答你的第三个问题 ,你可以使用Sweeper列出未使用的依赖关系,并将它们从你的package.json中移除。 只需要npm install -g sweeper然后在你的项目目录下的命令行调用sweeper