目录
NPM是什么?
Npm是的Js开发者能够更方便的分享和复用以及更新代码,被复用的代码被称为包或者 模块,一个模块中包含了一到多个js文件。在模块中一般还会包含一个package.json的 文件,该文件中包含了该模块的配置信息。一个完整的项目,需要依赖很多个模块。一 个完整的npm包含三部分
- 网站
- 用于预览npm管理的包
- 注册表(registry)
- 用于上传包,使用数据库来维护包与上传者的信息。
- 命令行工具 (CLI)
- 用于安装包
安装NPM
安装node.js后会自动安装npm,我们只需要手动更新到版本
npm install npm@latest -g
.
由于默认npm的仓库在国外,下载起来很慢,可以使用淘宝镜像来加快下载速度。方法如下:
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
修改npm权限
有时可能碰到权限不足的问题,可能是因为我们把node安装到系统目录下,我们可能无权访问,因此我们可以将node安装目录当做自己的家目录
$ npm config get prefix //查看node的安装路径
修改权限
$ sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
模块初始化
$ npm init
该命令会为我们初始化一个package.json文件(模块的配置文件),如果原来项目中有package.json文件,它首先会读取原来文件的信息,并默认为原来的选项。
$ npm init -y
该命令会为我们创建默认package.json文件。
模块安装
$ npm install
在本地node_modules文件夹安装依赖项。默认将安装package.json所依赖的所以模块
使用 --production标志,将不会安装devDependencies所列出的模块。
$ npm install [<@scope>/]<name>@<version>
安装指定版本的包,例如安装 babel-loader第7版 npm install babel-loader@7 --save-dev
$ npm install 模块名 --save
将模块添加到package.json中 dependencies中,一般将产品依赖的模块安装到这里。
$ npm install 模块名 --save-dev
将模块添加到package.json中devDependencies中,一般将开发依赖的模块安装到这里。
$ npm install 模块名@版本 --global
全局依赖,依赖会被安装在node的家目录下,让所以的项目共享。
产品依赖 vs 开发依赖
产品依赖是指项目开发完成后,上线后所依赖的环境,在打包时会被打包。比如: vue、jquery、vueRouter
开发依赖是指在仅供开发和测试环节使用,上线后则不会依赖,因此最后打包时将不会被打包。比如: babel webpack
vue-cli等
模块更新
$ npm update <name> --save
将更package.json中dependenices中的模块更新到最新版(即latest)
$ npm update <name> -g
全局更新包至latest版
$ npm update <name> --save-dev
更新开发环境依赖包。
模块删除
从node_modules中删除不需要的模块
$ npm uninstall -g <package_name>
在全局模式下将当前包上下文卸载。
$ npm uninstall <package_name> --save
将删除指定产品依赖的模块。
将删除指定生产环境依赖的模块。