package.json里面字段详解

2022-03-07  本文已影响0人  如果俞天阳会飞

package.json是什么?

package.json文件是一个JSON对象,对象中包含了多项属性,项目运行运行和开发环境所依赖的模块

{
  // 发布时候的项目名  必填项  @xxx是代表范围包
  "name": "@xxx/package",
  //发布版本 必填项
  "version": "1.0.0",
  // 项目描述信息,description是字符串,便于用户在npm上搜索到我们的项目
  description: 'xxxxx',
  //包私有,无法发布到npm
  private: true,
  //包的关键字 用于npm搜索
  "keywords": [
    "xxx",
    "xxx"
  ],
  // homepage项目的主页地址
  "homepage": "github.com.xxx",
  // 项目问题反馈的Url或报告问题的邮箱地址,
  "bugs": {
    "email": "",
    "url": ""
  },
  //许可证
  "license": "MIT",
  //作者信息
  "author": {
    "name": "",
    "url": "",
    "email": ""
  },
  // 贡献者信息 array
  "contributors": [
    {
      "name": "",
      "email": "",
      "url": ""
    }
  ],
  // 下载依赖包所包含的文件 指定这个包被install时候有哪些文件 或者说 发布package时,具体那些文件会发布上去
  "files": [
    "es",
    "lib"
  ],
  //主文件,也是项目的入口文件,默认值是项目根目录下的index.js
  "main": "lib/index.js",
  //es6 环境下入口文件
  "module": "",
  //yarn workspace monorepo
  "workspaces":[],
  //确保所有的package具有相同的版本
  "resolutions":{},
  //仓库地址
  "repository": {
    "type": "git",
    "url": "http://.jd.com"
  },
  //可通过 process.env.npm_package_config_port获取到8080
  // 用于添加命令行的环境变量 可以通过输入命令npm config set来修改值
  "config": {
    "port": "8080"
  },
  //包的限制
  "engines": {
    "node": ">=13.14.0",
    "yarn": ">=1.22.0"
  },
  // devDependencies 和 dependencies
  //dependencies,依赖的意思,这些安装包都是程序所依赖的包,需要发布到生产环境的.
  //dev即develop,开发的意思,也就是开发环境下的依赖。,
  // devDependencies中的插件只用于开发环境,不用于生产环境,而dependencies是要发布到生产环境
  "dependencies": {

  },
  "devDependencies": {

  },
     //相对依赖
    "peerDependencies": {
    },
  //>1.0.2 大于当前版本
  //
  //>=1.0.2 大于等于当前版本
  //
  //<1.0.2 小于当前版本
  //
  //<=1.0.2小于等于当前版本
  //
  //~1.0.2 不低于1.0.2,但不改变大版本号和次要版本号
  //
  //^1.0.2 不低于1.0,2, 但不改变大版本号
  //
  //1.2.x 表示1.2.3 ,1.2.4版本都支持,
  //脚本
  "scripts": {
    "start": "webpack-dev-server --open 'Google Chrome'"
  },
  //发布设置
  "publishConfig": {
    //If present, will replace whatever registry is defined in the configuration when the package is about to be pushed to a remote location
    "registry": "http://registry.mddddd.jd.com",
    //包的访问权限
    "access": "public"
  },
  // typings: TypeScript 的入口文件
  "typings": "lib/index.d.ts",
  // jsdelivr cdn公共库
  "jsdelivr":"lib/index.min.js"
}

上一篇下一篇

猜你喜欢

热点阅读