npm相关
一、package.json 和 package-lock.json
package.json:通过 npm init 命令创建,主要用来定义这个项目所需要的各种模块以及项目的配置信息(比如名称、版本、许可证等元数据)。npm install 命令根据这个配置文件自动下载所需的模块,即配置项目所需的运行和开发环境。
package.json文件只能锁定大版本,即版本号的第一位,不能锁定后面的小版本,每次 npm install 的时候拉取该大版本下面最新的版本
package-lock.json:在 npm install 的时候自动生成,用于记录当前状态下实际安装的各个npm package 的具体来源和版本号,作用就是锁定安装时包的版本号(包括大版本号在内的所有版本号),以保证其他人在npm install时大家的依赖能保持一致。
升级package-lock.json里的库包:npm install XXX@x.x.x
"dependencies": { "lodash": "^4.17.21" }
这里的向上标号 ^ 是定义向后(新)兼容依赖,指的是如果 lodash 的版本是超过 4.17.21,并且在大版本号 4 上相同,就允许下载最新的lodash包
二、NPM
NPM是随同NodeJS一起安装的包管理工具
使用npm命令安装常用的NodeJS web框架模块 express:
// npm安装NodeJS模块语法 $ npm install <Module Name> // 安装express $ npm install express
安装好后,express 包就放在了工程目录下的 node_modules 目录中,在代码中只需要通过 require('express') 的方式就好,无需指定第三方包路径:
var express = require('express')
本地安装:
1.将安装包放在 ./node_moules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。
2.可以通过 require() 来引入本地安装的包
全局安装:
1.将安装包放在 /user/local 下或者你的node安装目录。
2.可以直接在命令行中使用
// 本地安装 npm install express // 全局安装 npm install express -g
查看所有全局安装的模块:
$ npm list -g
// 卸载模块 $ npm uninstall express // 查看目录 $ npm ls // 更新模块 $ npm update express // 搜索模块 $ npm search express