package.json字段分析

name:包的名称,必须是唯一的,由小写英文字母、数字和下划线组成,不能包含空格。

description:包的简要说明

version:符合语义化版本识别规范的版本字符串

scripts:指定了运行脚本命令的npm命令行缩写,比如start指定了运行npm run start时,所要执行的命令。("start": "node index.js")

main:指定了加载的入口文件,require('moduleName')就会加载这个文件。这个字段的默认值是模块根目录下面的index.js。也可以自行修改。

keywords:关键字数组,通常用于搜索

maintainers:维护者数组,每个元素要包含name、email(可选)、web(可选)字段

contributors:贡献者数组,个数与maintainers相同,包的作者应该是贡献者数组的第一个元素

bugs:提交bug的地址,可以是网站或者电子邮件地址

licenses:许可证数组,每个元素要包含type(许可证名称)和url(链接到许可证文本的地址)字段

repositories:仓库托管地址数组,每个元素要包含type(仓库类型,如git)、url(仓库的地址)和path(相对于仓库的路径,可选)字段

dependencies:生产环境包的依赖,一个关联数组,由包的名称和版本号组成

devDependencies:开发环境包的依赖,一个关联数组,由报包的名称和版本号组成

package.json文件的作用:

当我们想把项目拷贝给别人时,会因为node_modules文件夹产生一些问题:

  • 文件夹以及文件过多过碎,如果将整体项目拷贝给别人的时候,传输速度会很慢很慢
  • 复杂的模块依赖关系需要被记录,确保模块的版本和当前保持一致,否则会导致当前项目运行报错

因此,我们不能把node_modules文件夹也拷贝过去,那应该怎么下载项目所需要的依赖呢?

package.json文件,即为项目描述文件,记录了当前项目信息,例如项目名称、版本、作者、GitHub地址、当前项目依赖了哪些第三方模块等。

如果后期开发过程中,需要项目迁移,我们只需要将package.json文件迁移即可,在新项目下执行`npm install ` ,所有第三方包会自动安装。

原文地址:https://www.cnblogs.com/zcy9838/p/11610809.html