package.json生成/ npm未使用的包
我在我的项目中引入了unit testing,为此,我需要使自己成为一个package.json
文件。
第一个问题是,你正在使用哪个unit testing suite
? 我期待mocha
,这似乎是非常标准的Node.js
项目。
第二个问题是:有什么不可思议的方式来生成一个package.json
文件? (对于依赖和版本)
第三个问题是:在开发我的项目的过程中,我一直在testing大量的npm packages
,现在我遇到了很多可能未使用的包。 有什么办法可以告诉哪一个是无用的? (我看到npm list installed
哪个是有用的,虽然)
-
我也使用摩卡。 它具有代码覆盖,BDD,TDD,运行在浏览器中。 这是相当完整的,也是由我认为最聪明的JavaScript / node.js程序员之一,名为TJ严重维护。
-
猜测使用哪个版本几乎是不可能的。 因为npm不知道哪个版本中断哪个依赖关系。 你可以使用类似node-detective的东西来安装所有的依赖关系。 然后你可以使用JavaScript中的npm.js来安装它们。 也许我想在未来解决这个问题。
-
我也可能会删除所有的依赖,下一步使用步骤(2)安装所需的依赖关系。 但是现在的HD也不是一个大盘子。
PS:我想我也同意Domenic
-
我正在使用摩卡。
-
npm init
-
npm ls
会列出不在你的package.json中的“extraneous”。 但是,这听起来像你还没有package.json。
基本上,你的工作stream程是非常落后的。 这是如何工作的:
- 用
npm init
启动一个新项目。 它没有依赖关系。 - 哦,我想开始使用一个包,
express
? 将它添加到依赖项下的package.json
,然后运行npm install
。 - 哦,我想要开始使用一个包的发展,说
mocha
? 将它添加到devDependencies
下的devDependencies
,然后运行npm install
。
你似乎有一些手动安装的程序包(通过npm install <packageName>
),这是一个混乱的代码。 我build议从上面的工作stream程开始。
回答第三个问题 :
npm prune
将删除package.json中不再提及的所有已安装的模块。
你真的应该问三个不同的问题。
-
我正在使用誓言。 这很不错,但不完美。 我发现节点中的unit testing往往是具有挑战性的,因为对dbs等的asynchronouscallback,并且主要是testing顶级function。
-
这是你的魔力: 用Shrinkwrappipe理Node.js依赖 。
-
知道你使用什么软件包的唯一方法就是知道。 你不能以编程方式生成这个。 我的build议是积极地删除软件包,然后重新testing所有的function – 如果中断,你会知道你需要重新安装你的软件包。
回答你的第三个问题 ,你可以使用Sweeper列出未使用的依赖关系,并将它们从你的package.json中移除。 只需要npm install -g sweeper
然后在你的项目目录下的命令行调用sweeper
。