轻松掌握nodeJS之npm

关于NPM

npm是nodejs的包管理工具,所谓包管理工具就是对各类包和工具进行 安装,卸载,更新,查看,搜索,发布等操做的工具。就像咱们电脑上的电脑管家,管理各类软件的安装,卸载,升级等。
使用npm咱们能够很是轻松的管理各类包,并且诸多前端开发的工具诸如WebPack、Grunt等都是依赖于nodeJS的,这些工具的安装、使用都要经过npm。 咱们开发中用到的一些开源类库如jquery、bootstrap等均可以经过npm来下载和管理。 因此说,学会npm的使用对前端开发尤其重要前端

安装NPM

只用安装了nodeJS,npm就一块儿被安装了。
https://nodejs.org/en/download/ 下载地址
打开命令行工具(window下是cmd)
运行vue

npm -v

若是显示了npm的版本号,证实已经安装成功node

NPM的简单使用

须要注意的是,使用npm的时候,通常先进入到项目目录中(命令号cd命令进入),下载的包会放在项目目录下的node_modules目录下(该目录会自动生成),跟我一块儿安装几个包。jquery

npm install jquery #安装jquery

在你的项目目录下就会生成一个node_modules目录,该目录下就有了jquery。 你能够多安装几个包git

npm install bootstrap #安装bootstrap
npm install angular   #安装angular
npm install vue       #安装vue

你会发现你的node_modules目录下就多了不少个目录github

npm list  #该命令能够查看安装的包的列表
npm list 包名  #能够查看具体的包的信息(版本号)

若是你不肯定包名的话你能够搜索npm

npm search jquery  #搜索名字里有"jquery"的包

若是想查看包的相关信息json

npm info bootstrap  #查看bootstrap的信息,不论包是否安装均可以查看

固然,安装某个包的时候也能够制定包的版本号bootstrap

npm install jquery@1.12.4  #安装jquery-1.12.4

若是须要对已经安装的包进行更新服务器

npm update 包名

若是要卸载已经安装的包

npm uninstall 包名

NPM的全局安装

上面咱们安装的包都是安装在了项目目录中, 若是安装的是命令行工具只能进入(cd)到项目目录中才能使用,npm也能够进行全局安装,npm能够进行全局的安装、卸载、升级,只有加上 "-g"

npm install 包名 -g

这样的安装的包是全局的,不会安装在项目目录的node_modules里,而是安装在全局目录中

npm config list  #查看npm的配置, 其中配置项 prefix 就是全局安装目录

也能够

npm config get prefix    #直接查看配置项prefix (全局安装目录)

固然

npm config set prefix 路径  #设置npm的全局安装目录

通常状况下,若是安装的包或工具只是本项目用到的,咱们不须要全局安装, 若是包是好多项目用到的,主要是一些前端工具(Grunt Glup WebPack 等)能够全局安装

package.json

咱们能够在项目目录下建立一个pageage.json文件,来写上本项目的一些介绍以及用到了那些包,pageage.json文件的主要内容以下

{
  "name": "myapp",          //package名字(自定义)
  "version": "1.0.0",       //package的版本(自定义)
  "description": "",        //描述(自定义)
  "main": "main.js",        //主入口文件(自定义)
  "dependencies": {         //package的应用依赖模块,及别人要使用这个package,至少须要安装哪些东西。
    "jquery": "1.8.3",      //bootstrap 版本号1.8.3
    "bootstrap":"*",        //bootstrap 版本号最新
    "angular":"^1.6.2"          //angular 朱版本号是1的最新版
  },
  "author": "lin",              //做者
  "license": "ISC"          //受权
}

这里面,较为重要是dependencies依赖,它告诉咱们搞项目所须要的依赖(也就是用了哪些包)。 通常状况下,咱们写完项目发布的时候(如传到github上),咱们不会上传npm_modules这个目录, 别人拿到咱们的项目文件,cd到项目目录执行

npm install

npm会根据pageage.json中dependencies中的设置把相关的包都下载下来。
pageage.json这个文件通常不须要咱们手工建立,咱们在项目目录中运行

npm init

根据提示,输入内容(author description等信息 ),package.json就自动建立好了

在安装包时候添加 --save 会自动把包添加到 package.json的依赖中

npm install jquery --save

固然,卸载该包的时候,也要添加--save才能从依赖中移除,不然包是卸载了,但package.json中仍然有,

npm uninstall jquery --save

版本号问题

咱们注意到,在pageage.json中的dependencies中依赖的包的版本前面有 "^","~"等符号,这些符号都是什么意思呢?

> 1.1.1 版本必须必1.1.1大
>= 1.1.1 版本>=1.1.1
< 1.1.1
<= 1.1.1
~1.1.1 安装1.1.x 的最新版本 好比~1.2.2,表示安装1.2.x的最新版本(不低于1.2.2),可是不安装1.3.x,也就是说安装时不改变大版本号和次要版本号
^1.1.1 安装1.x.x 的最新版本 好比ˆ1.2.2,表示安装1.x.x的最新版本(不低于1.2.2),可是不安装2.x.x,也就是说安装时不改变大版本号。

注意,关于版本号,如 jquery-1.12.4
1 是主版本号 用于不兼容的API修复
12 是副版本号或次版本号 用于向下兼容的功能性修复
4 是补丁版本号 用于向下兼容的bug修复

更换镜像

npm下载的包都是来自一个站点(就像一个下载站),因为服务器在国外,有时速度会较慢,甚至在某些敏感时期,你懂得。

npm config get registry

能够查看当前npm所使用的镜像地址 默认是 https://registry.npmjs.org/
咱们能够改为淘宝的npm镜像 参考 https://npm.taobao.org/

(完)

相关文章
相关标签/搜索