package.json 是每个 Node 项目的入口清单。核心字段:name 与 version 组成包的唯一标识;main 指定 CommonJS 入口而 module 指定 ESM 入口;dependencies 是运行时依赖、devDependencies 只有开发时安装;scripts 定义可执行命令;engines 约束运行所需的 Node 版本。
它可以用 npm init 交互式生成,安装依赖时由 npm 自动维护版本号。private 设为 true 能防止内部项目被误发布到公共仓库;type 设为 module 则让 .js 文件默认按 ESM 解析。发布公共包时 description、keywords、license 等字段会直接影响包市场的搜索与展示效果。
{
"name": "api-server",
"version": "1.2.0",
"description": "示例接口服务",
"main": "index.js",
"private": true,
"scripts": {
"start": "node index.js",
"test": "jest"
},
"dependencies": {
"express": "^4.18.2"
},
"devDependencies": {
"jest": "^29.7.0"
},
"engines": {
"node": ">=18.0.0"
},
"license": "MIT"
}