认识npm-软件包管理器

目录

[1. 认识npm-软件包管理器](#1. 认识npm-软件包管理器)

[1.1. 什么是npm-软件包管理器?(定义)](#1.1. 什么是npm-软件包管理器?(定义))

[1.2. npm 软件包管理器作用?](#1.2. npm 软件包管理器作用?)

[1.3. 下载的包会存放在哪里?](#1.3. 下载的包会存放在哪里?)

[1.4. 如何使用?](#1.4. 如何使用?)

[1.4.1. 初始化清单文件](#1.4.1. 初始化清单文件)

[1.4.2. 下载软件包](#1.4.2. 下载软件包)

[1.4.3. 使用软件包](#1.4.3. 使用软件包)

[1.5. 练习(需求)](#1.5. 练习(需求))

[2. npm - 安装所有依赖](#2. npm - 安装所有依赖)

[2.1. 引入问题](#2.1. 引入问题)

[2.2. 问题原因](#2.2. 问题原因)

[2.3. 为什么不直接把软件包传给别人,而通过npm安装所有依赖的方式](#2.3. 为什么不直接把软件包传给别人,而通过npm安装所有依赖的方式)

[2.4. 解决 - 项目终端输入命令:npm i](#2.4. 解决 - 项目终端输入命令:npm i)

[3. npm - 全局软件包 nodemon](#3. npm - 全局软件包 nodemon)

[3.1. 软件包区别](#3.1. 软件包区别)

[3.2. nodemon 作用](#3.2. nodemon 作用)

[3.3. 如何使用](#3.3. 如何使用)


1. 认识npm-软件包管理器

1.1. 什么是npm-软件包管理器?(定义)

1.2. npm 软件包管理器作用?

  • 下载软件包以及管理版本

1.3. 下载的包会存放在哪里?

  • 当前项目下的 node_modules 中,并记录在 package.json 中

1.4. 如何使用?

1.4.1. 初始化清单文件
  • npm init -y(得到 package.json 文件,有则略过此命令)
1.4.2. 下载软件包
  • npm i 软件包名称
1.4.3. 使用软件包

1.5. 练习(需求)

  • 需求:使用 dayjs 软件包,来格式化日期时间
  • 图解
javascript 复制代码
/**
 * 目标:使用 npm 下载 dayjs 软件包来格式化日期时间
 *  1. (可选)初始化项目清单文件,命令:npm init -y
 *  2. 下载软件包到当前项目,命令:npm i 软件包名称
 *  3. 使用软件包
 */
// 3. 使用软件包
const dayjs = require('dayjs')
const nowDateStr = dayjs().format('YYYY-MM-DD')
console.log(nowDateStr)

2. npm - 安装所有依赖

2.1. 引入问题

  • 项目中不包含 node_modules,能否正常运行?

2.2. 问题原因

  • 不能,缺少依赖的本地软件包

2.3. 为什么不直接把软件包传给别人,而通过npm安装所有依赖的方式

  • 因为自己用 npm 下载依赖比磁盘传递拷贝要快得多

2.4. 解决 - 项目终端输入命令:npm i

  • 下载 package.json 中记录的所有软件包

3. npm - 全局软件包 nodemon

3.1. 软件包区别

  • 本地软件包:当前项目内使用,封装属性和方法,存在于 node_modules
  • 全局软件包:本机所有项目使用,封装命令和工具,存在于系统设置的位置

3.2. nodemon 作用

  • 替代 node 命令,检测代码更改,自动重启程序

3.3. 如何使用

  • 安装:npm i nodemon -g(-g 代表安装到全局环境中)
  • 运行:nodemon 待执行的目标 js 文件
相关推荐
万少1 小时前
Claude Code 任务结束会自己喊你:一个 Stop Hook 搞定提示音
前端·后端·代码规范
ZC跨境爬虫1 小时前
跟着 MDN 学CSS day_30:(玩转列表样式,从基础到进阶)
前端·css·html·tensorflow·媒体
ct9781 小时前
TypeScript 中的泛型
前端·javascript·typescript
IT_陈寒1 小时前
React hooks闭包陷阱把我坑惨了,原来这才是正确用法
前端·人工智能·后端
参宿71 小时前
Shell 脚本语言(Bash/Sh)基础 与 应用
node.js
nnsix2 小时前
MVC、MVP、MVVM 架构 笔记
java·开发语言·前端
qq_420362032 小时前
前端国际化方案
前端·javascript·vue.js·国际化·reactjs
向上的车轮2 小时前
React 19 快速入门:拥抱服务端组件与新特性的现代化开发
前端·javascript·react.js
Smile_2542204182 小时前
vue3 + ts reactive方式清空表单对象
开发语言·前端·javascript
多租户观察室2 小时前
信通院标准体系2.0深度解读:低代码管理平台进入“精品竞争”时代
前端·低代码·程序员