package.json generation/npm unused packages

Tom*_* B. 22 javascript continuous-integration unit-testing node.js npm

我正在我的项目中引入单元测试,为此,我需要自己制作一个package.json文件.

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

第二个问题是:生成package.json文件有什么神奇的方法吗?(对于依赖项和版本)

第三个问题是:我npm packages在开发项目时已经进行了大量测试,现在我遇到了许多可能未使用的软件包.有什么办法可以说出哪一个没用吗?(npm list installed虽然我看到哪个是有用的)

Dom*_*nic 34

  1. 我正在使用摩卡.

  2. npm init

  3. npm ls将在package.json中不包含的"无关"列表.但是,听起来你还没有package.json.


基本上,您的工作流程非常落后.以下是它的工作方式:

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

你似乎有一些现有的代码与手动安装的包(通过npm install <packageName>),这是一个烂摊子.我建议重新开始并遵循上述工作流程.

  • 你也可以执行`npm install <packageName> --save`,它会自动将它添加到你的`package.json`中.有关详细信息,请参阅此处:https://npmjs.org/doc/install.html.我发现它比Domenic上面建议的工作流程更容易. (9认同)
  • 对于`devDependencies`也是`--save-dev`(上述链接中的doc) (3认同)

Max*_*uxa 20

回答第三个问题:

npm prune

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


你应该真的问过3个不同的问题.


Alf*_*red 6

  1. 我也在使用摩卡.它具有代码覆盖率,BDD,TDD,在浏览器中运行.这是非常完整的,并且我认为是最杰出的javascript/node.js程序员之一,名为TJ.

  2. 几乎不可能猜出要使用哪个版本.因为npm不知道哪个版本打破了哪个依赖项.您可以使用node-detective之类的东西安装所有依赖.然后你可以在javascript中使用npm.js安装它们.也许我想在将来解决这个问题.

  3. 我也可能会删除所有依赖项,然后使用步骤(2)重新安装所需的依赖项.但是目前的HD还不再是光盘空间的大案例.

PS:我想我也同意Domenic