Node.js的package.json

package.jsonNode.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 模块类型(commonjsmodule
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.jsonindex.jsnpm scripts,直接 npm start 就能跑。

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

相关推荐
我是苏苏8 小时前
Web开发:C#通过ProcessStartInfo动态调用执行Python脚本
java·服务器·前端
无羡仙8 小时前
Vue插槽
前端·vue.js
哈__9 小时前
React Native 鸿蒙跨平台开发:PixelRatio 像素适配
javascript·react native·react.js
用户6387994773059 小时前
每组件(Per-Component)与集中式(Centralized)i18n
前端·javascript
SsunmdayKT9 小时前
React + Ts eslint配置
前端
开始学java9 小时前
useEffect 空依赖 + 定时器 = 闭包陷阱?count 永远停在 1 的坑我踩透了
前端
zerosrat9 小时前
从零实现 React Native(2): 跨平台支持
前端·react native
狗哥哥9 小时前
🔥 Vue 3 项目深度优化之旅:从 787KB 到极致性能
前端·vue.js
青莲8439 小时前
RecyclerView 完全指南
android·前端·面试
青莲8439 小时前
Android WebView 混合开发完整指南
android·前端·面试