全栈程序员-前端第一节-npm 是什么?

npm = Node Package Manager(Node 包管理器)

简单理解

npm 是 JavaScript/Node.js 的包管理工具,用于:

  • 安装和管理 JavaScript 库/工具
  • 管理项目依赖
  • 运行项目脚本

类比理解

  • npm ≈ Python 的 pip、Java 的 Maven、Go 的 go mod
  • npm 仓库 ≈ 应用商店(存放各种 JavaScript 包)

npm 的主要功能

1. 安装包
复制代码
npm install vite        # 安装 vite 包
npm install react       # 安装 react 库
npm install -D typescript  # 安装开发依赖(-D 表示 devDependencies)
2. 管理项目依赖

项目中的 package.json 文件记录依赖:

复制代码
{
  "name": "my-project",
  "dependencies": {
    "react": "^18.0.0",      // 生产依赖
    "vite": "^5.0.0"
  },
  "devDependencies": {
    "typescript": "^5.0.0"   // 开发依赖
  }
}
3. 运行脚本

在 package.json 中定义脚本:

复制代码
{
  "scripts": {
    "dev": "vite",
    "build": "vite build"
  }
}

然后运行:

npm run dev # 执行 scripts.dev 中的命令

npm run build # 执行 scripts.build 中的命令

npm 的组成部分

  1. npm 命令行工具:安装 Node.js 时自带
  1. npm 仓库:https://www.npmjs.com(全球最大的 JavaScript 包仓库)
  1. package.json:项目配置文件
  1. node_modules:存放已安装的包

常见 npm 命令

复制代码
npm install          # 安装 package.json 中的所有依赖
npm install <包名>    # 安装指定包
npm uninstall <包名>  # 卸载包
npm run <脚本名>      # 运行 package.json 中的脚本
npm init             # 初始化项目,创建 package.json
npm list             # 查看已安装的包
npm update           # 更新包

npm 与 Node.js 的关系

  • Node.js:JavaScript 运行时环境
  • npm:Node.js 自带的包管理器
  • 安装 Node.js 时会自动安装 npm

实际例子

当你创建一个前端项目时:

复制代码
# 1. 初始化项目
npm init -y

# 2. 安装 Vite
npm install -D vite

# 3. 在 package.json 中添加脚本
# "scripts": { "dev": "vite" }

# 4. 运行开发服务器
npm run dev

文件位置:package.json

它们位于 package.json 文件的 scripts 字段中。示例:

复制代码
{
  "name": "@vitejs/test-wasm",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "scripts": {                    ← scripts 字段开始
    "dev": "vite",                ← "dev" 在这里,第 7 行
    "build": "vite build",        ← "build" 在这里,第 8 行
    "preview": "vite preview"
  }                               ← scripts 字段结束
}

下一节vite学习 全栈程序员-前端第二节- vite是什么?-CSDN博客

相关推荐
子兮曰4 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰4 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万4 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝4 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋4 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁4 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王95274 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大4 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师4 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学4 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端