依赖安装:
通过npm init -y创建package.json文件
下面以mocha的安装为例
npm install --save-dev --save-exact mocha@3.4.2
--save -dev(也可简写成 -D)使用开发依赖
--save-exact告诉npm要精确记录语义化版本号3.4.2。如果去掉,则在package.json中添加^3.4.2
常规依赖:代码运行时会用到的模块 参数--production
开发依赖:只在开发时需要的模块(如测试模块Mocha)参数--save-dev
版本号三部分组成:主版本号.次版本号.修订版本号
修改版本号时,需要遵守约定:
- 主版本号:修改的代码对功能产生影响,增加主版本号,并重置次版本号和修订版本号
- 次版本号:修改代码新增了功能,但没有删除和修改已有的功能,增加次版本号,重置修订版本号
- 修订版本号:修改代码修复bug,没有新增和删除任何功能,应该增加修订版本号
在package.json中,
^3.4.2代表安装指定版本相同或者更新的次版本,比如安装3.5.0不安装4.0.0
~3.4.2代表安装制定版本相同或者更新的修订版本,比如安装3.4.3不安装3.5.0
另外,在匹配~或^时,会忽略1.0.0以下的版本号,因为很多项目在0.x.x版本中互不兼容
建议:安装模块时始终加上--save-exact,优点是让项目在你的掌控下更新,不会出现无法控制的意外;缺点是想要安装最新版本时需要手动更新。
但是即使你小心翼翼使用--save-exact来管理依赖,还可能出现问题,因为由依赖模块引入的间接依赖模块可能没有严格遵守版本号约定。这个时候就需要用到package-lock.json文件,它记录了整个依赖树所有模块版本号和校验码。
如果想要在不同机器上安装完全一样的依赖文件,就必须把package-lock.json提交到代码仓库里,可以使用npm outdated命令生成更新报告,包含所有可以更新的模块版本。一旦在项目里安装了新版本的模块,package-lock.json里的版本记录也会同步更新。
所以在开发过程中提交package-lock.json是一个好习惯。
Mocha:
Mocha是用于JavaScript单元”测试框架“,所谓“测试框架”,就是运行测试的工具。
阮一峰的Mocha教程很适合入门和学习Mocha。
最后贴一张测试图结束。