npm下载包

217 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第7天,点击查看活动详情

包(第三方模块)

1、包:node中第三方模块又叫做包

2、包的来源:第三方个人或团队开发出来的模块,免费供他人使用

3、为什么需要包:基于内置模块封装出来的,极大的提高了开发效率

4、包的下载:别人将包发布到npm网站,我们可以使用npm工具来下载安装别人写的包

包是基于内置模块开发出来的,类似于jQuery是基于浏览器内置API之间的关系

npm 的作用

npm的作用是:管理node模块的工具。

  • 下载并安装第三方的模块
  • 卸载第三方模块
  • 发布模块
  • 删除已发布的模块
  • ....

npm 就是一个管理(下载安装、卸载...)第三方模块的工具

规范的包结构

1、包必须以单独的目录而存在

2、一个包至少要包括以下两个文件

  • index.js,里面写功能(包的入口文件,当别人使用require()加载包时,加载的就是这个入口文件)
  • package.json(里面必须包含name,version,main这三个属性,分别代表包的名字,版本号, 包的入口文件名)

3、最好写一个使用文档 README.md (参照其他第三方模块的说明文档写就可以)

4、package.json介绍

npm初始化后,会生成一个 package.json 文件 package.json 是当前项目(或者包)的说明或配置文件

{
name:'项目或包的名字'
version:'项目或包的版本'
main:'项目或包的入口文件'
script:'命令及简写形式'
dependencies:'依赖,表示当前项目或包,依赖哪些其他模块'
}

包的分类

使用npm包管理工具下载的包,共分为两大类:

本地包

  • 一定要初始化 npm init -y
  • 安装:npm i 模块名 模块名 …
  • 卸载:npm un 模块名 模块名 …
  • 安装的本地模块,只能在当前文件夹及其后代文件夹中使用
  • 需要通过 require() 加载

全局包

  • 全局模块,安装之前,不需要初始化
  • 全局模块,不能通过 require() 加载
  • 全局模块,一般都是命令或者工具
  • 安装卸载,只需要多加一个 -g
  • 全局模块,在任何位置都可以使用

本地包的下载和安装

npm init -y   //安装本地模块,必须需要使用npm工具初始化
npm i 模块名  //安装
npm un 模块名  //卸载
​
建议在安装第三方模块之前,先执行如下命令。
下面的命令只需要执行一次即可(不管以后重启vscode还是重启电脑,都不需要执行第二次)
npm config set registry https://registry.npm.taobao.org

初始化之后,会在项目目录中生成 package.json 的文件

全局包的下载和安装

npm i  -g 模块名  //安装
npm un -g 模块名  //卸载

nodemon自动重启项目

当基于node.js编写了一个网站应用时,传统的方式是用node app.js命令来启动项目,这样做的坏处是:代码被修改后后,需要重新重启项目

现在,我们可以将node命令替换为nodemon命令,使用nodemon app.js命令来启动项目,这样的好处是:代码被修改之后,会被nodemon监听到,从而实现自动重启项目的效果

//安装nodemon
npm i -g nodemon
//卸载nodemon
npm un -g nodemon
//使用nodemon
node app.js   //将这个终端命令,替换为下面的终端命令,即可实现自动重启项目的效果
nodemon app.js

这个nodemon模块就是全局模块

\