前提:请确保安装了node.js
npm的最佳实践npm install是最常见的npm cli命令,但是它还有更多能力!接下来你会了解npm是如何在应用的整个生命周期帮助你的-从创建一个项目到开发和部署整个生命周期
认识npm在开始之前,我们先来看看一些查看正在运行的npm版本的命令
npm version获取当前npm cli正在使用的版本,你可以执行命令 npm version,这条命令除了返回版本外,还可以返回很多信息-当前包的版本,你正在使用的node.js的版本,openSSL或者V8的版本,以我本地安装的node为例,结果如下:
npm help和大多数的命令行工具一样,npm也有一个内置的帮助函数, 可以获取命令的描述和提要,比入我们想看看npm test命令是做什么的,执行 npm help test
1 使用 npm init创建新项目使用 npm init命令可以帮助你交互式地创建 package.json文件,会弹出项目名称和描述的问题,有一个快速的解决方法 npm init--yes(或者简写 npm init-y),那么就不会弹出任何问题了,仅仅是使用默认配置创建一个 package.json, 使用下面的命令,你可以配置这些默认配置
npm config set init.author.name YOUR_NAME
npm config set init.author.email YOUE_EMAIL
2 查找正确的npm包查找正确的npm包相当具有挑战性-有成千上万的包可供选择,因此选择正确的npm 包很令人苦恼了,然而,我们可以选择一个模块帮助我们发送HTTP请求 有一个网站可以帮助我们简单地完成这个任务,它就是npms.io,它会展示包的质量,受欢迎度,和维护性,这些是通过一个模块是否更新了依赖,是否有提示配置,是否做了测试覆盖,最近有没有提交记录来综合计算得出的
3 检查npm包一旦我们找到了我们的模块(在我们的例子中是一个request模块),我们应该看一下文档,查看issues,以便更好地了解我们即将引入到应用中的包,不要忘记你使用的npm包越多,你的项目的风险就越高
如果你想在cli中打开这个模块的首页,执行
npm home request
打开模块的issues
npm bugs request
或者你只是想查看模块的git仓库,执行下面的命令
npm repo request
4 保存依赖npm采用semver进行控制
所谓SEMVER,指的是语义化版本,其规则概述如下: 版本格式:主版本号.次版本号.修订号,版本号递增规则如下:
主版本号:新的架构调整,不兼容老版本
次版本号:新增功能,兼容老版本
修订号:修复bug,兼容老版本。
一旦你决定将第三方包引入你的项目,你必须安装和保存它,最常见的命令是 npm install some-package,如果你想自动将包信息添加进 package.json文件,你需要执行 npm install some-package--save
npm默认会带着'^’这个前缀保存你的包,具体的安装规则如下:
^version
兼容某个版本
版本号中最左边的非0数字的右侧可以任意
如果缺少某个版本号,则这个版本号的位置可以任意
如:^1.1.2 ,表示>=1.1.2<2.0.0,
可以是1.1.2,1.1.3,.....,1.1.n,1.2.n,.....,1.n.n
如:^0.2.3 ,表示>=0.2.3 <0.3.0,
可以是0.2.3,0.2.4,.....,0.2.n