{
// 包的名称
"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"
}
关于package.json文件的配置详解
于 2023-07-19 15:02:54 首次发布