Node.js --- 包的概念

什么是包

Node.js 中的第三方模块又叫做包

创建包

  1. 下载包使用 npm ,全名叫做 Node Package Manager(简称 npm 包管理工具),这个包管理工具随着 Node.js 的安装包一起被安装到了用户的电脑上。

  2. 可以在终端中执行 npm -v 命令,来查看自己电脑上所安装的 npm 包管理工具的版本号

npm

格式化时间的传统做法

// 格式化时间方法.js

// 1. 定义格式化时间的方法
function dateFormat(dtStr) {
  const dt = new Date(dtStr)

  const y = dt.getFullYear()
  const m = padZero(dt.getMonth() + 1)
  const d = padZero(dt.getDate())

  const hh = padZero(dt.getHours())
  const mm = padZero(dt.getMinutes())
  const ss = padZero(dt.getSeconds())

  return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
}

// 定义补零的函数
function padZero(n) {
  return n > 9 ? n : '0' + n
}

module.exports = {
  dateFormat
}
// 对时间进行格式化.js

// 导入自定义的格式化时间的模块
const TIME = require('./014 - timeformat')

// 调用方法,进行时间的格式化
const dt = new Date()
// console.log(dt)
const newDT = TIME.dateFormat(dt)
console.log(newDT)

使用第三方包对时间进行格式化

  1. 使用 npm 包管理工具,在项目中安装格式化时间的包 moment

  2. 使用 require() 导入格式化时间的包

  3. 参考 moment 的官方 API 文档对时间进行格式化

// 1.moment
const moment = require('moment')

// 2.参考 moment 官方 API 文档,调用对应的方法,对时间进行格式化
// 2.1 调用 moment() 方法,得到当前的事件
// 2.2 针对当前的时间,调用 format() 方法,按照指定的格式进行时间的格式化
const dt = moment().format('YYYY-MM-DD HH:mm:ss')

console.log(dt)

npm install 命令安装包

npm i 包的完整名称

npm i moment

node_modulespageage-lock.json 的作用

初次装包完成后,在项目文件夹下多一个叫 node_modules 的文件夹和 package-lock.json 的配置文件,他们的作用是:

  1. node_modules 文件夹用来存放所有已安装到项目中的包。require() 导入第三方包时,就是从这个目录中查找并加载包
  2. package-lock.json 配置文件用来记录  node_modules 目录下的每一个包的下载信息,例如包的名字、版本号、下载地址等

包的语义化版本

npm 规定,在项目根目录中,必须提供一个叫 package.json 的包管理配置文件。用来记录与项目有关的一些配置信息。例如:

  1. 项目的名称、版本号、描述等
  2. 项目中用到了哪些包
  3. 哪些包只在开发期间会用到
  4. 哪些包在开发和部署时都需要用到

 快速创建 package.json

npm 包管理工具提供了一个快捷命令,可以在执行命令时所处的目录中,快速创建 package.json 这个包管理配置文件

npm init -y

注意:

  1. 上述命令只能在英文的目录下成功运行!所以,项目文件夹的名称一定要使用英文命名,不要使用中文,不能出现空格

  2. 运行 npm install 命令安装包的时候,npm 包管理工具会自动把包的名称和版本号,记录到 package.json

dependencies 节点的作用

package.json 文件中,有一个 dependencies 节点,专门用来记录您使用 npm install 命令安装了哪些包

// 安装一个包
npm i xxx

// 安装多个包
npm i xxx1  xxx2 

 一次性安装所有的包

  1. npm i @版本号
  2. npm i 包1 包2
  3. npm i 安装所有包

删除包

  1. 可以运行 npm uninstall 命令,来卸载指定的包
  2. 注意:npm uninstall 命令执行成功后,会把卸载的包,自动从 package.jsondependencies 中移除掉
//使用 npm uninstall 具体的包名 来卸载包

npm uninstall moment

devDependencies 节点的作用

  1. 如果某些包只在项目开发阶段会用到,在项目上线后不会用到,则建议把这些包devDependencies 节点中
  2. 与之对应的,如果某些包在开发和项目上线之后都需要用到,则建议把这些包记录到dependencies 节点中

解决包下载慢的问题

  1. 淘宝在国内搭建了一个服务器,专门把国外官方服务器上的包同步到国内的服务器,然后在国内提供下包的服务。从而极大的提高了下包的速度

  2. 镜像是一种文件存储形式,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像

切换 npm 的下包镜像源

下包的镜像源,指的就是下包的服务器地址

 

使用 nrm 切换下载包的服务器

为了更方便的切换下包的镜像源,可以安装 nrm 这个小工具,利用 nrm 提供的终端命令,可以快速查看和切换下包的镜像源

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值