关于极简package.json

一、概述

在Node.js中,模块是一个库或框架,也是一个Node.js项目。Node.js项目遵循模块化的架构,当我们创建了一个Node.js项目,意味着创建了一个模块,这个模块的描述文件,被称为package.json
每个项目的根目录下面,一般都有一个package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。npm install命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。

npm和yarn安装的包都会被记录在package.json中。但是他们会有各自的dependency lock文件,npm的是pakage-lock.json, yarn的是yarn.lock。

二、package.json属性说明

  1. name:项目/模块名称,长度必须小于等于214个字符,不能以”.”(点)或者”_”(下划线)开头,不能包含大写字母。
  2. version:项目版本。
  3. author:项目开发者,它的值是你在https://npmjs.org网站的有效账户名,遵循“账户名<邮件>”的规则,例如:zhangsan zhangsan@163.com。
  4. description:项目描述,是一个字符串。它可以帮助人们在使用npm search时找到这个包。
  5. keywords:项目关键字,是一个字符串数组。它可以帮助人们在使用npm search时找到这个包。
  6. private:是否私有,设置为 true 时,npm 拒绝发布。
  7. license:软件授权条款,让用户知道他们的使用权利和限制。
  8. bugs:bug 提交地址。
  9. contributors:项目贡献者 。
  10. repository:项目仓库地址。
  11. homepage:项目包的官网 URL。
  12. dependencies:生产环境下,项目运行所需依赖。
  13. devDependencies:开发环境下,项目所需依赖。
  14. scripts:执行 npm 脚本命令简写,比如 “start”: “react-scripts start”, 执行 npm start 就是运行 “react-scripts start”。
  15. bin:内部命令对应的可执行文件的路径。
  16. main:项目默认执行文件,比如 require(‘webpack’);就会默认加载 lib 目录下的 webpack.js 文件,如果没有设置,则默认加载项目跟目录下的 index.js 文件。
  17. module:是以 ES Module(也就是 ES6)模块化方式进行加载,因为早期没有 ES6 模块化方案时,都是遵循 CommonJS 规范,而 CommonJS 规范的包是以 main 的方式表示入口文件的,为了区分就新增了 module 方式,但是 ES6 模块化方案效率更高,所以会优先查看是否有 module 字段,没有才使用 main 字段。
  18. eslintConfig:EsLint 检查文件配置,自动读取验证。
  19. engines:项目运行的平台。
  20. browserslist:供浏览器使用的版本列表。
  21. style:供浏览器使用时,样式文件所在的位置;样式文件打包工具parcelify,通过它知道样式文件的打包位置。
  22. files:被项目包含的文件名数组。

三、版本规则

提示:node的各种包都有版本控制,迭代都非常快,版本号用用三个数字分别用.分割来标记每个版本,比如1.2.3 其中第三位3表示微小的变动,2表示比较大的变动,1表示升级;

符号

说明

version

精准匹配版本号

> version

必须大于某个版本

>=version

必须大于或等于某个版本

< version

必须小于某个版本

<=version

必须小于或等于某个版本

~version

不改变大版本号和次要版本号,小版本号随意

^version

版本号最左边非 0 数字的右侧可以任意

version号位置出现 X

X 的位置表示任意版本

version使用 * 代替

任意版本

version(1) – version(2)

版本范围

内容出处:,

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.net/tech/29783.html

发表评论

登录后才能评论