npm包管理工具

npm - Node包管理工具

npm的基本概念

1. npm 是node的包管理工具,
2. 它是世界上最大的软件注册表,每星期大约有 30 亿次的下载量,包含超过 600000 个 包(package) (即,代码模块)。
3. 来自各大洲的开源软件开发者使用 npm 互相分享和借鉴。包的结构使您能够轻松跟踪依赖项和版本。

npm 由三个独立的部分组成:
  网站
  注册表(registry)
  命令行工具 (CLI)
  • 作用:通过npm来快速安装开发中使用的包

  • npm不需要安装,只要安装了node,就自带了npm

npm基本使用

初始化包

npm init;    //这个命令用于初始化一个包,创建一个package.json文件,我们的项目都应该先执行npm init
npm init -y;  //快速的初始化一个包, 不能是一个中文名

安装包

npm install 包名;  //安装指定的包名的最新版本到项目中
npm install 包名@版本号;  //安装指定包的指定版本

npm i 包名; //简写

卸载包

npm uninstall 包名;  //卸载已经安装的包

本地安装和全局安装

有两种方式用来安装 npm 包:本地安装和全局安装。选用哪种方式来安装,取决于你如何使用这个包。

  • 全局安装:如果你想将其作为一个命令行工具,那么你应该将其安装到全局。这种安装方式后可以让你在任何目录下使用这个命令。比如less命令,webpack命令。

  • 本地安装:如果你自己的模块依赖于某个包,并通过 Node.js 的 require 加载,那么你应该选择本地安装,这种方式也是 npm install 命令的默认行为。

// 全局安装,会把npm包安装到C:\Users\cc\AppData\Roaming\npm目录下,作为命令行工具使用
npm install -g 包名;

//本地安装,会把npm包安装到当前项目的node_modules文件中,作为项目的依赖
npm install 包名;  

package.json文件

package.json文件,包(项目)描述文件,用来管理组织一个包(项目),它是一个纯JSON格式的。

  • 作用:描述当前项目(包)的信息,描述当前包(项目)的依赖项

  • 如何生成:npm init或者npm init -y

  • 作用

    • 作为一个标准的包,必须要有package.json文件进行描述

    • 一个项目的node_modules目录通常都会很大,不用拷贝node_modules目录,可以通过package.json文件配合npm install直接安装项目所有的依赖项

  • 描述内容

{
 "name": "03-npm",  //描述了包的名字,不能有中文
 "version": "1.0.0",  //描述了包的的版本信息, x.y.z 如果只是修复bug,需要更新Z位。如果是新增了功能,但是向下兼容,需要更新Y位。如果有大变动,向下不兼容,需要更新X位。
 "description": "", //包的描述信息
 "main": "index.js", //入口文件(模块化加载规则的时候详细的讲)
 "scripts": {  //配置一些脚本,在vue的时候会用到,现在体会不到
   "test": "echo \"Error: no test specified\" && exit 1"
},
 "keywords": [],  //关键字(方便搜索)
 "author": "",  //作者的信息
 "license": "ISC",  //许可证,开源协议
 "dependencies": {   //重要,项目的依赖, 方便代码的共享 通过 npm install可以直接安装所有的依赖项
   "bootstrap": "^3.3.7",
   "jquery": "^3.3.1"
}
}

注意:一个合法的package.json,必须要有name和version两个属性

 

如果安装失败, 可以通过以下命令清除npm缓存:

    npm cache clean -f  // -f强制清除

//主要看网络

npm下载加速

nrm

  • nrm:npm registry manager(npm仓库地址管理工具)

  • 安装:npm i -g nrm

# 带*表示当前正在使用的地址

# 查看仓库地址列表
nrm ls

# 切换仓库地址
nrm use taobao

nodemon 自动重启

  • 作用:监视到js文件修改后,自动重启node程序

  • 安装:npm i -g nodemon

  • 使用:nodemon app.js 运行node程序

posted @ 2020-08-19 23:51  OliviaZhang  阅读(258)  评论(0编辑  收藏  举报