关于package.json文件的配置详解

{
  // 包的名称
  "name": "package",

  // 包的版本
  "version": "1.0.0",

  // 包的简短描述:会在npmjs.com和其他包管理器的搜索结果中显示
  "description": "My package description",

  // 项目的入口文件:引用包时的入口文件
  "main": "index.js",

  // 自定义的脚本命令:npm run [scripts]
  "scripts": {
    "start": "node index.js",
    "dev": "node dev.js"
  },

  // 项目关键字:方便搜索和分类
  "keywords": ["package", "json"],

  // 项目的作者名称
  "author": "Your Name",

  // 项目的许可证类型
  "license": "MIT",

  // 项目生产环境依赖
  "dependencies": {
    "package-1": "^1.0.0",
    "package-2": "^2.0.0"
  },

  // 项目开发环境依赖
  "devDependencies": {
    "dev-package-1": "^1.0.0",
    "dev-package-2": "^2.0.0"
  },

  // 项目的代码仓库地址
  "repository": {
    "type": "git", // 源代码仓库使用的版本管理系统
    "url": "https://github.com/your-username/my-package.git" // 仓库的URL地址
  },

  // 项目的缺陷跟踪系统地址,用于提交bug和提出建议
  "bugs": {
    "url": "https://github.com/your-username/my-package/issues"
  },

  // 项目在代码托管平台上的地址
  "homepage": "https://github.com/your-username/my-package#readme",

  // 项目的资金来源
  "funding": {
    "type": "organization", // 类型,可以是"individual"、"organization"或"project"等。
    "name": "lee", // 名称
    "url": "https://xxxx.com/", // 链接
    "email": "xxx@xxx.com" // 电子邮件
  },

  // 发布npm包时,指定发布哪些文件
  "files": ["dist/", "src/", "index.js"],

  // 解决浏览器环境下的兼容性
  "browser": {
    "module": "browser-module", // 浏览器环境下module模块替换成browser-module模块
    "./module": "./browser-module" // 浏览器环境下./module路径替换成./browser-module路径
  },

  /* npm包的命令行入口文件:
   * 项目内install会注册到node_modules/.bin目录
   * 全局install下会注册到node安装目录
   */
  "bin": {
    "my-package": "./index.js"
  },

  // 自动生成全局变量: process.env.npm_package_config_apiKey
  "config": {
    "apiKey": "123"
  },

  // 当前包被其他包所依赖时,指定所需包的版本
  "peerDependencies": {
    "lodash": "^4.0.0"
  },

  // 配置peerDependencies中包的元数据
  "peerDependenciesMeta": {
    "lodash": {
      "optional": true // 是否可选依赖
    }
  },

  // 建议哪些依赖包会被包含在最终的输出文件中,实际得看打包的配置
  "bundleDependencies": ["react", "react-dom"],

  // 配置可选依赖包:安装失败时,不会导致npm报错而中止安装其他依赖包
  "optionalDependencies": {
    "loadsh": "^1.0.0"
  },

  // 覆盖对应的依赖包
  "overrides": {
    // 覆盖dependencies中的package-1
    "package-1": {
      "version": "2.0.0", // 版本由1.0.0 --> 2.0.0
      "dependencies": {
        "package-3": "^2.0.0" // 添加新的依赖包
      }
    }
  },

  // 项目所需的node.js、npm的版本
  "engines": {
    "node": ">=10.0.0",
    "npm": ">=6.0.0"
  },

  // 项目运行环境
  "os": [
    "win32", // Window
    "darwin", // MacOS
    "linux" // Linux
  ],

  // 是否为私有包:true时,无法发布到npm库
  "private": true,

  // 发布包时的配置信息
  "publishConfig": {
    "registry": "https://registry.npmjs.org/" // 发布的npm仓库地址
  },

  // 跨模块的依赖管理和版本控制,通过本地软连接对应的包
  "workspaces": [
    "./packages", // 软连接到package包
    "./themes" // 软连接到themes包
  ],

  // 包类型:module(ES模块)、默认:commonjs(CommonJS模块)
  "type": "module"
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值