Node.js 08 npm与包基础

130 阅读3分钟

1 . 1 什么是包?

包: Node.js 里面 第三方模块 又叫做

1 . 2 包的来源?

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

1 . 3 Why need 包?

1195.png

  • 包是基于内置模块封装出来的!!

1 . 4 从哪下载包?

1196.png

2 . npm包管理工具

2 . 1 npm 是什么?

1197.png

2 . 2 初次安装包后多了哪些文件?

  • node_modules 文件夹
  • package-lock.json 的配置文件

1198.png

不要手动修改这些文件(夹)里面的内容。

2 . 3 包的语义化版本规范

1199.png

3 . 包管理配置文件package.json

3 . 1 是什么?

  • package.json 文件(位于根目录下)

1200.png

  • 执行 npm init -y 可以快速创建package.json 文件

注意: 根目录名字一定是英文(不能包含空格、中文)

3 . 2 多人协作问题

if要把项目上传到 github 上去,但是包的体积又非常大,此时,就可以不上传包,即把 node_modules 文件夹添加到 .gitignore 忽略文件中。但是要记住把用到的包写进 package.json文件里,方便其他人按照下载!!!

3 . 3 package.json文件中的 dependencies节点

该节点专门来记录我们装了哪些包

3 . 4 package.json文件中的 devDependencies节点

如果某些包,项目上线后就再也用不到了,就写到该节点中!!!

  • 可以通过 npm install 包名 --save-dev 来添加

  • 简写 npm i 包名 -D

  • 到底要安装到哪?-----参考官网!!!

3 . 5 如何一次性安装所有包

  • 执行 npm install

会读取package.json文件中的 dependencies节点,然后下载里面记录的所有包!!!

3 . 6 卸载包

  • npm uninstall 包的名字

  • 卸载后,会自动把包从 node_modules 中删除,并从package.json文件中的 dependencies节点中移除!!

4 . 解决下包速度慢问题

4 . 1 Why 慢?

默认是从国外的服务器下载的,此时,网络数据的传输需要经过漫长的海底光缆,因此下包速度会很慢!!!

4 . 2 How to 解决?

淘宝 NPM 镜像服务器

1201.png

扩展:

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

1202.png

4 . 3 nrm

nrm 为了更方便的切换下包的镜像源

1203.png

5 . 包的分类

5 . 1 项目包

被安装到项目的 node_modules 目录中的包,都是项目包

项目包又分为两类:

  • 开发依赖包
  • 核心依赖包

1204.png

5 . 2 全局包

  • npm (un)install 报名 -g 就会把包安装成全局包

全局包的位置:

1205.png

注意:

  • 只有工具性质的包才有必要全局安装
  • 那些包need -g ----可以参考官网

5 . 3 包 i5ting_toc

i5ting_toc是一个可以把 .md文档转为 html 页面的包(小工具)

使用步骤如下:

1206.png

  • -o意为转化完成后直接在浏览器中打开

6 . 规范的包结构

需满足以下三点要求:

  • 包必须以单独的目录存在
  • 包的顶级目录下必须要包含 package.json 这个包管理配置文件
  • package.json 中必须包含 name、version、main这三个属性,分别代表包的名字、包的版本号、包的入口(当我们require时,要加载的文件)