npm的使用

package.json

  • 快速生成package.json npm init -y

  • "version": "~1.1.0"

    格式为:「主版本号. 次版本号. 修订号」。

    修改主版本号是做了大的功能性的改动

    修改次版本号是新增了新功能

    修改修订号就是修复了一些bug

  • dependencies

    "dependencies": {
    "react": "17.0.2",// 固定版本
    "react-dom": "~17.0.2",// 不低于17.0.2版本,但是不改变主版本号和次版本号
    "react-scripts": "^4.0.3",// 不低于4.0.3版本,但是不改变主版本号
    "jquery": "latest",// 安装最新版本
    "@aurora/card": "1.0.3" // @aurora/card是个范围包,aurora是范围名称,aurora范围下的card包
    }

  • 第三方相关配置
    1、typings 指定 TypeScript 的入口文件
    2、eslintConfig eslint的配置
    3、babel 指定 Babel 的编译配置
    4、browserslist 用来告知支持哪些浏览器及版本
    5、lint-staged 和 gitHooks 一起配置,每次提交代码只会检查当前改动的文件

npm的安装机制

  • 缓存位置(windows)
    user\xxx\AppData\Roaming\npm-cache当中的_cacache文件夹

  • 清理缓存(无论在哪里执行命令都会删除_cacache)
    npm cache clean -f

  • package-lock.json(可以保证项目成员依赖尽量一致)

    package.json中多数定义的是版本范围 "vue": "~1.0.0", "jquery": "^5.2.1"
    package-lock.json会锁定版本 "vue": "1.0.5", "jquery": "5.3.18"
    npm install(无lock文件) -> "vue": "1.0.10" "jquery": "^5.9.2"
    npm install(有lock文件) -> "vue": "1.0.5" "jquery": "5.3.18"

设置镜像源(.npmrc文件)

安装、更新、删除依赖

  • 查看和安装依赖
    查看项目中的依赖 npm list npm list xxx(包含xxx的位置)
    安装项目的全部依赖 npm install
    项目中增加某个依赖包 npm install xxx npm install xxx@版本号
    安装依赖并把依赖项保存到package.json文件中 npm install --save
    全局安装(C:\user\当前用户\AppData\Roaming\npm中) npm install xxx -g
  • 安装依赖不成功或者版本对不上
    1、镜像源设置不对 (跟运行正常的同事对一下.npmrc文件设置,用户级和项目级的)
    2、npm缓存影响 (删除node_module + npm cache clean -f)
    3、lock文件的影响 (更新或者删除lock文件)
    4、ssl验证问题Error: unable to verify the first certificate (npm config set strict-ssl false)
  • 更新和删除项目中的包(node_module上级目录中打开终端)
    npm update xxx
    npm remove xxx (package.json中记录的依赖项也会被删除)
相关推荐
懒大王95271 小时前
echarts+HTML 绘制3d地图,加载散点+散点点击事件
前端·html·echarts
斯~内克7 小时前
Electron 菜单系统深度解析:从基础到高级实践
前端·javascript·electron
数据知道7 小时前
【YAML】一文掌握 YAML 的详细用法(YAML 备忘速查)
前端·yaml
dr李四维7 小时前
vue生命周期、钩子以及跨域问题简介
前端·javascript·vue.js·websocket·跨域问题·vue生命周期·钩子函数
旭久7 小时前
react+antd中做一个外部按钮新增 表格内部本地新增一条数据并且支持编辑删除(无难度上手)
前端·javascript·react.js
windyrain8 小时前
ant design pro 模版简化工具
前端·react.js·ant design
浪遏8 小时前
我的远程实习(六) | 一个demo讲清Auth.js国外平台登录鉴权👈|nextjs
前端·面试·next.js
GISer_Jing8 小时前
React-Markdown详解
前端·react.js·前端框架
太阳花ˉ8 小时前
React(九)React Hooks
前端·react.js