npm如何查一个依赖包的户口

2,599 阅读3分钟

我正在参加「掘金·启航计划」

前言

前段时间为了在前端小组内部做分享,对npm花了一些功夫去了解,把npm的前世今生的内容都看了一遍,npm的所有命令都执行过了一遍,源码虽然没有全部看完,但是一些核心点也了解了一番,后面会慢慢整理一系列前端依赖相关的文章,这一篇主要是跟大家交流一下怎么通过npm 命令查看一个npm包的重要信息

npm 查看一个包的版本信息

查看一个包在服务器上的版本信息

1. 查看包有哪些版本

查到npm服务器上对应查询包的所有版本信息,versions,是versions不是verion的窝

npm view <pkg_name> versions

结果:
image.png

2. 查看包最新版本

查看包的最新的版本是哪一个版本,也就是tag为latest

npm view <pkg_name> version

结果:
image.png

3. 查看包的更多信息

不止tag(npm view <pkg_name> version 只能查看tag,查看更多信息可以通过info

npm info <pkg_name>

这一看,户口信息大致都出来了 image.png

npm 打开包的相关文档

1. 查看包文档

本地开发用到了某一个依赖包,想查看这个依赖包的相关文档,无需去谷歌或者百度搜,只需要通过docs/home 就可以快速打开浏览器查看帮助文档

npm docs <pkg_name>
npm home <pkg_name>

npm docs dayjs
就可以快速打开dayjs的官方文档
2.gif

2. 查看包提交bug地址

用到的包有bug,想给作者提交一下,这个时候只需要通过bugs/issue 就可以快速打开浏览器查看bugs

npm issue <pkg_name>
npm bugs <pkg_name>

npm issue dayjs
就可以快速打开dayjs的查看bugs的地址 3.gif

3. 查看包的源码地址

npm repo <pkg_name>

如果想查看一个包的源码地址,无需去github上手动搜,只需要通过 repo 就可以快速打开浏览器跳转到对应的源码地址 npm repo dayjs
就可以快速打开dayjs的查看源码的地址 4.gif

附: 看到这里,其实应该也有小伙伴猜到,这些打开包对应的某个地址啥的其实就是这些包package.json里面配置的描述信息
dayjs的package.json(非完整文件,删掉了一些信息)如下:

{
  "name": "dayjs",
  "version": "0.0.0-development",
  "description": "2KB immutable date time library alternative to Moment.js with the same modern API ",
  "main": "dayjs.min.js",
  "types": "index.d.ts",
  "release": {
    "prepare": [
      {
        "path": "@semantic-release/changelog"
      },
      [
        "@semantic-release/git",
        {
          "assets": [
            "CHANGELOG.md"
          ]
        }
      ]
    ]
  },
  "keywords": [
    "dayjs",
    "date",
    "time",
    "immutable",
    "moment"
  ],
  "author": "iamkun",
  "license": "MIT",
  "homepage": "https://day.js.org",
  "repository": {
    "type": "git",
    "url": "https://github.com/iamkun/dayjs.git"
  }
}

npm 查看一个包的最新版本信息

npm info <pkg_name>
npm view <pkg_name>

查看一下dayjs这个包的相关信息

npm view dayjs

输出如下:

dayjs@1.11.5 | MIT | deps: none | versions: 118
2KB immutable date time library alternative to Moment.js with the same modern API
https://day.js.org

keywords: dayjs, date, time, immutable, moment

dist
.tarball: https://registry.npmjs.org/dayjs/-/dayjs-1.11.5.tgz
.shasum: 00e8cc627f231f9499c19b38af49f56dc0ac5e93
.integrity: sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA==
.unpackedSize: 648.1 kB

maintainers:
- iamkun <kunhello@outlook.com>

dist-tags:
alpha: 2.0.0-alpha.4  latest: 1.11.5

published 2 months ago by iamkun <kunhello@outlook.com>

npm 快速进入包目录

在项目开发中,有时候想快速进入某个依赖包的目录下,可以通过执行edit/explore,达到对应的效果

1. 进入包目录并启动编辑器

windows系统需要管理员权限

npm edit <pkg_name>[@<version>]

2. 进入包目录并运行命令

windows系统需要管理员权限

npm explore <pkg_name> [@<version>]
npm explore dayjs -- ls

npm 查看bin目录

npm bin

在项目目录中执行,会查看到当前项目的bin目录,在非项目目录内执行,会默认打印全局的bin目录