认识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 文件
相关推荐
道不尽世间的沧桑3 分钟前
第17篇:网络请求与Axios集成
开发语言·前端·javascript
diemeng11191 小时前
AI前端开发技能变革时代:效率与创新的新范式
前端·人工智能
bin91533 小时前
DeepSeek 助力 Vue 开发:打造丝滑的复制到剪贴板(Copy to Clipboard)
前端·javascript·vue.js·ecmascript·deepseek
晴空万里藏片云5 小时前
elment Table多级表头固定列后,合计行错位显示问题解决
前端·javascript·vue.js
曦月合一5 小时前
html中iframe标签 隐藏滚动条
前端·html·iframe
奶球不是球5 小时前
el-button按钮的loading状态设置
前端·javascript
kidding7235 小时前
前端VUE3的面试题
前端·typescript·compositionapi·fragment·teleport·suspense
Σίσυφος19007 小时前
halcon 条形码、二维码识别、opencv识别
前端·数据库
学代码的小前端7 小时前
0基础学前端-----CSS DAY13
前端·css
css趣多多8 小时前
案例自定义tabBar
前端