npm
npm是随node一起安装的包管理工具,只要安装了node,就可以使用npm。
npm的作用:
- 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
- 允许用户从NPM服务器下载安装别人编写的命令行程序到本地使用。
- 允许用户将自己编写的包或命令行程序上传到NPC服务器供别人使用。
npm全局安装和本地安装
npm install 模块名 #本地安装
npm install 模块名 -g #全局安装
本地安装:把模块和命令行安装到当前文件夹下,只能在当前目录下使用。
全局安装:安装完成后,在命令行中任意目录都可以使用。
npm卸载模块
npm uninstall 模块名
nodemon
nodemon是一种工具,可以自动检测到目录中的文件更改时通过重启应用程序来调试基于node.js应用程序。
nodemon安装
npm install -g nodemon #全局安装
错误解决方法:
1.window+r 输入powershell
2.执行:set-ExecutionPolicy RemoteSigned
nrm
nrm是npm的镜像源管理工具,有时候国外的资源太慢,使用这个就可以快速的在npm源间切换。
nrm安装
npm install -g nrm #全局安装
查看可用源
执行命令nrm ls查看可选的源。
nrm ls
*npm ---- https://registry.npmjs.org/
cnpm — http://r.cnpmjs.org/
taobao - http://registry.npm.taobao.org/
其中,带*的是当前可用的源,上面输出表明当前源是官方源。
切换源
nrm use 地址名称
如果想切换到淘宝源,执行命令nrm use taobao.
错误解决方法:
1.根据错误提示,找到cli.js,一般是 C:\Users\Administrator\AppData\Roaming\npm\node_modules\nrm\cli.js
2.将第17行的数据修改为以下代码: const NRMRC = path.join(process.env[(process.platform == ‘win32’) ? ‘USERPROFILE’ :
‘HOME’], ‘.nrmrc’);
node_modules的问题:
如果我们在项目中下载了很多第三方模块,那么别人拷贝你的项目时就会特别的慢。
package.json:
每个项目的根目录下,一般都会有一个package.json文件,定义了这个项目需要哪些模块,以及该项目的配置信息(项目名,作者,版本,许可证等)
创建package.json文件
npm init -y 快速生成
package-lock.json
用于锁定版本,防止多人开发时,使用不同的第三方包的版本。
package.json重要字段
dependencies 生产环境依赖模块
devDependencies 开发环境依赖模块
scripts:脚本
一些第三方类库只需要在开发时使用,不需要在生产环境上部署,则可以将它安装在开发环境依赖模块下。
npm install 模块名 -D #开发环境
npm install 模块名 -S #生成环境
yarn
yarn也是一个包资源管理器,与npm的功能是一样的。 但是两者有什么区别呢?
Yarn 是为了弥补 npm 的一些缺陷而出现的。
npm 有哪些缺陷?
- 目录嵌套层次过深
- 模块实例无法共享
- 安装速度很慢,这其中有目录嵌套的原因,也有安装逻辑的问题。因为 npm
是请求完一个模块之后再去请求另一个模块,这就会导致同一个时刻,只有一个模块在下载、解析、安装。
下载使用
npm i yarn -g
初始化项目
创建 package.json
yarn init
yarn init -y 快速生成
安装单个依赖
yarn add 模块名
安装项目中所有的依赖:
yarn install
卸载依赖
yarn remove 模块名