01-NPM包管理工具

nobility 发布于 2020-07-17 2591 次阅读


NPM包管理工具

npm是node package manager的简称,是nodejs的包管理工具,用于node插件的安装卸载,升级,依赖等管理

NPM配置

配置文件

Linux下NPM配置文件共有4个,按优先级排序,配置文件中分号开头代表注释

级别 路径 描述
每个项目的配置文件 ./.npmrc,与package.json同级 需手动创建
系统用户的配置文件 ~/.npmrc,其中~为用户家目录 可使用npm config get userconfig命令查看该配置文件路径
全局配置文件 npm/etc/npmrc,其中npm为包的全局安装路径
使用npm root -g查看包的全局安装路径
可使用npm config get globalconfig命令查看该配置文件路径
npm内置配置文件 node/node_modules/npm/etc/npmrc,其中node是nodejs安装路径 window使用where node查看nodejs安装路径
linux使用whereis node查看nodejs安装路径

命令修改配置

  • npm config list:查看npm配置
    • l:查看全部配置(包括默认值)
    • json:以json格式查看全部配置(包括默认值)
  • npm config set:设置变量值,后跟两个参数,要设置的变量和值
    • npm config get registry:查看包源
  • npm config get:获取变量值,后跟一个参数,要获取的变量
    • npm config set registry http://registry.npm.taobao.org:修改包源为淘宝镜像
  • npm root -g:查看全局包安装路径
  • npm config set prefix path:设置包的全局安装路径
  • npm config set cache path:设置包的全局缓存路径

NPM初始化

  • npm init:提问并根据回答,初始化生成package.json文件
    • f:跳过提问过程

package.json

记录当前项目(包)的详细信息,还有一个package-lock.json文件是在安装其他包后就会生成,存储着下载依赖包的详细信息

参数名 描述
main 入口文件,默认是index.js
scripts 命令脚本对象,可使用npm run后跟该对象属性名的形式进行执行脚本
dependencies 生产时依赖
devDependencies 开发时依赖
name 项目名(包名),不能有大写字母
version 版本
description 描述
author 作者名
keywords 关键字
license 开源协议,默认ISC

其他文件

规范的一个项目(包)应该有以下目录命名规范

目录名 描述
bin 可执行二进制文件
lib 依赖的库文件
doc 文档
test 单元测试文件

NPM包管理

在安装包时必须先有package.jso文件,包名后跟@可指定版本

  • npm search:根据关键字搜索包
  • npm install:安装指定包,若不指定会将package.json中依赖的包全部安装,默认本地安装
    • Ssave:生产时依赖,未指定默认也是生产时依赖
    • Dsave--dev:开发时依赖
    • g:全局安装
    • save-exact:在package.json指定确切版本
    • force:强制重新安装
  • npm update:更新指定包,若不指定会将package.json中的包全部更新
    • g:全局更新
  • npm uninstall:卸载指定包
    • g:全局卸载

引入包搜索包流程

  1. node在使用模块名来引入包时,首先会在当前目录的node_modules目录中找
  2. 若没有则去上一级目录的node_modules目录中找
  3. 若找到根目录都没有找到则报错
此作者没有提供个人介绍
最后更新于 2020-07-17