package 和 package.json
不同于 module,package 往往是大量 module 的集成
它能作为 Package 存在,最为显著的特征是 package.json 文件
(不一定要发包到 npm 官方上,本地也可以使用)
在 npm 中,package 是一个用 package.json 来描述的文件。 其中 package.json 中定义了包的名称(name)、版本(version)等信息,其他文件往往为源代码及相关的说明文档。当这些信息通过 npm publish 上传后,将产生一个 gzip 的压缩包,通常称为 tar 包(tarball)
当我们装包时在装什么
这里以 react@18.0.0 为例。在执行 npm install react@18.0.0 时,本质上下载的是 react-18.0.0.tgz 这个压缩文件。文件下载解压后目录结构如下。
包含了源代 码和说明性文档(开源 LICENSE,readme)之类的
$ tree react-18.0.0
react-18.0.0
├── LICENSE
├── README.md
├── cjs
├── index.js
├── jsx-dev-runtime.js
├── jsx-runtime.js
├── package.json
├── react.shared-subset.js
└── umd
2 directories, 20 files