Node.js的package.json

package.json 是 Node.js 和前端项目的核心配置文件,它是一个 JSON 格式 的文件,用来描述项目的元数据、依赖、脚本等信息。

下面我给你一个 完整示例 和 详细解析,方便你快速掌握。


1. 基本作用

  • 项目描述(名称、版本、作者等)
  • 依赖管理(生产依赖、开发依赖)
  • 脚本命令 (npm run xxx)
  • 工具配置(如 ESLint、Babel、TypeScript 等)

2. 示例 package.json

perl 复制代码
Json
{
  "name": "my-node-app",                // 项目名称(必须小写、无空格)
  "version": "1.0.0",                   // 版本号(遵循 semver 语义化版本)
  "description": "A sample Node.js app",// 项目描述
  "main": "index.js",                   // 入口文件
  "type": "module",                     // 模块类型: "commonjs" 或 "module" (ESM)
  "scripts": {                          // npm 脚本命令
    "start": "node index.js",
    "dev": "nodemon index.js",
    "test": "node test.js"
  },
  "keywords": ["node", "example"],      // 关键词(方便 npm 搜索)
  "author": "Your Name",                // 作者
  "license": "MIT",                     // 许可证
  "dependencies": {                     // 生产依赖
    "express": "^4.18.2"
  },
  "devDependencies": {                  // 开发依赖
    "nodemon": "^3.0.1"
  },
  "engines": {                           // Node 版本要求
    "node": ">=18.0.0"
  }
}

3. 常用字段说明

字段 作用
name 包名(npm 发布时使用)
version 版本号(语义化版本:主.次.补丁)
description 项目描述
main 入口文件(require() 默认加载)
type 模块类型(commonjs 或 module)
scripts 自定义命令(npm run xxx)
dependencies 生产环境依赖
devDependencies 开发环境依赖
peerDependencies 对等依赖(插件/库常用)
engines 指定 Node/npm 版本
license 开源协议

4. 常用命令

csharp 复制代码
Bash
# 初始化 package.json
npm init -y

# 安装生产依赖
npm install express

# 安装开发依赖
npm install nodemon --save-dev

# 运行脚本
npm run start
npm run dev

5. 版本号规则(SemVer)

  • ^1.2.3:允许 次版本 和 补丁版本 更新(1.x.x)
  • ~1.2.3:允许 补丁版本 更新(1.2.x)
  • 1.2.3:固定版本
  • *:任意版本(不推荐)

如果你需要,我可以帮你写一个 最小可运行的 Node.js 项目 ,带 package.json、index.js 和 npm scripts,直接 npm start 就能跑。

你要我帮你做这个吗?这样你可以直接运行测试。

相关推荐
椒哥2 小时前
一天被问几十次"允许",我统计了 517 次,然后写了个插件
前端·javascript·github
风骏时光牛马2 小时前
生成一个AI稳定性治理及疑难问题分析标题,只需要一个标题,不需要其他的任何文本。
前端
莫西干式秃头2 小时前
用 AI + threejs 写了个浏览器里的 3D 动作游戏《武来》:砍怪、放技能、开 SU7
前端·人工智能·three.js
kyriewen2 小时前
我测了 6 种防请求竞态的写法:只有 1 种真能打
前端·javascript·程序员
孟健2 小时前
用 WorkBuddy 做个人名片网页,挂上开源设计技能后效果完全不同了
前端·人工智能·ai编程
IT_陈寒2 小时前
SpringBoot自动配置的坑,这次终于爬出来了
前端·人工智能·后端
OpsEye3 小时前
企业大模型压测,需要重点关注哪些指标?
javascript·ai编程
LuHang3 小时前
从天地图切换到高德地图:一次真实的底图迁移实战
前端·vue.js·cesium
用户360055579003 小时前
Kestrel_VLLM - 27 · 寄存器常驻与融合发射:两次「少发一次」
前端
前端小万3 小时前
用"道法术器"重构你和 AI 的协作方式
前端·人工智能·程序员