node.js [包package]

170 阅读3分钟

一. 包 package

<1> 什么是包?

包【package】代表了一组特定功能的源码组合。node.js里的第三方模块又叫做包。

<2> 包的来源:

由第三方个人或者团队开发出来的!!

<3> why need 包?

0744.png

二. 包管理工具

包管理工具 管理包的应用软件,可以对进行下载安装、更新、删除、上传等操作!!

  • 借助包管理工具,可以快速开发项目,提升开发效率。
  • 包管理工具是一个通用的概念,很多编程语言都有自己的包管理工具。

前端常用的包管理工具:

  • npm
  • yarn
  • cnpm
<1> npm

0745.png

npm【Node Package Manager】,这个包管理工具会随着 Node.js 的安装包一起被安装到用户的电脑上。

(1)初始化 npm init

此命令可以把一个普通文件夹变为包,区别于普通文件夹与包。

  • 创建一个空目录,然后以此目录作为终端命令行工作目录,执行npm init
  • 执行该命令后,会以交互式的方式创建 package.json文件

注意:

       - 包名不能使用中文、大写,默认是文件夹的名字
(2) package.json文件

该文件是包的配置文件,每个包都要有该文件。

(3) 下载/安装包

npm install/i xxx[@版本号]

  • 开发依赖vs生产依赖 npm i -S / -D xxx

2361.png

2362.png

package.json配置文件中的devDependencies节点会记录开发依赖的安装包dependencies节点会记录生产依赖的安装包

  • 全局安装 npm i -g xxx

可以参考包的官方文档来确认哪些包适合全局安装!!eg:nodemon该包适合全局安装,作用是更新保存后自动重启 node 应用程序

(4) 删除包
  • 局部删除 npm remove/r xxx

  • 全局删除 npm remove/r -g xxx

(5) 配置命名别名

package.json 文件中的 scripts属性中进行配置!!

2363.png

  • 配置完成后,可以通过 npm run xxx 启动命令【stsrt 可以省略 run,直接 npm start】
  • npm run 有自动向上级目录查找的情况,即如果执行 npm run server,但是该目录下的package.json文件中没有配置 server命令,就会去查找上一级的目录下的package.json文件!!!
(6) npm 使用淘宝镜像

第一种方法: 【直接配置】

npm config set registry https://registry.npmmirror.com/

第二种方法: 【使用工具 nrm 】

npm i -g nrm
nrm use taobao //修改镜像
npm config list // 检查是否修改成功
<2> cnpm

cnpm 是一个淘宝构建的npmjs.com的完整镜像,也称为【淘宝镜像】,cnpm 的服务器部署在国内的阿里云服务器上,可以提高包的下载速度!!官方也提供了一个全局包管理工具--->cnpm,操作命令与 npm 大体相同

2364.png

<3> yarn

yarn 是由 facebook 在2016年推出的新的 JavaScript 包管理工具。

特点:

  • 速度超快

     yarn 会缓存每个下载过的包,所以再次使用时无需下载
     yarn 是并行下载,因此安装速度更快!!
     
    

npm i -g yarn

2365.png

2366.png

<4> npm vs yarn

两者的锁文件不同:

  • npm package-lock.json

  • yarn yarn.lock

注意:

  • 包管理工具不要混用!!!
<5> 补:

许多语言都有包管理工具,如下:

2367.png

除了编程语言有包管理工具之外,操作系统层面也存在包管理工具,不过此时的包就是软件包了【eg:QQ...】

2368.png

三. nvm 【node 的版本管理工具】

2369.png

下载 nvm: 2370.png

2371.png