项目包
被安装到项目 node_modules 目录中的包,都是项目包。
项目包分为两类,分别是:
开发依赖包:被记录到 devDependencies 节点中的包,只在开发期间会用到;
核心依赖包:被记录到 dependencies 节点中的包,在开发期间和项目上线后都会用到;
全局包
在执行 npm install 命令时,如果提供了 -g 参数,则会把包安装到全局包。
全局包会被安装到如下目录:
这是npm的默认安装目录,也可以 win+R 调出运行窗口,输出:
打开 node_modules 目录看下:
可以看到之前安装的 nrm 工具和其他常见的全局包。
安装和卸载全局包:
注意:
1)只有工具性质的包,才有全局安装的必要性,它们提供了好用的终端命令;
2)判断某个包是否需要全局安装,可以参考官方说明;
i5ting_toc
i5ting_toc 是一个可以把 md 文档转为 html 页面的小工具,使用步骤如下:
实操一下:
看下全局 node_modules 目录:
i5ting_toc 有了;
在命令行执行一下转换的命令:
提示:转换的是当前目录的子目录 files 中的 demo.md 文件。
会在当前目录中生成一个 preview 的目录,里面存放着 demo.html 的所有资料;
看下效果:
目录文件包括:
看起来用来生成说明文档很强大;
规范的包结构
在清楚了包的概念、以及如何下载和使用包之后,了解一下 包的内部结构;
一个规范的包,它的组成结构,必须符合以下3点要求:
1)包必须以单独的目录存在;
2)包的*目录下要必须包含 package.json 这个包管理配置文件;
3)package.json 中必须包含 name、version、main 这三个属性,分别代表 包名、版本和入口;
以 moment 包为例:
红框:moment 包自成一个文件夹;
蓝框:moment 包含了 package.json 配置文件;
黄框:除了 name 和 version 属性外,还有 main 属性,外部引入时,会调用 ./moment.js 入口文件;
注意:以上3点要求是一个规范的包结构必须遵守的格式,关于更多约束,可参考:
https://classic.yarnpkg.com/en/docs/package-json