WEB前端NodeJS—包

包介绍

  • 什么是包:Node.js 中的第三方模块又叫做包。就像电脑和计算机指的是相同的东西,第三方模块和包指的是同一个概念,只不过叫法不同。
  • 包的来源:不同于 Node.js 中的内置模块与自定义模块,包是由第三方个人或团队开发出来的,免费供所有人使用。注意是免费且开源的,不需要付费即可免费下载使用。
  • 为什么需要包
    • 由于 Node.js 的内置模块仅提供了一些底层的 API,导致在基于内置模块进行项目开发的时,效率很低。
    • 包是基于内置模块封装出来的,提供了更高级、更方便的 API,极大的提高了开发效率。
    • 包和内置模块之间的关系,类似于 jQuery 浏览器内置API之间的关系。
  • 从哪里下载包
    • 国外有一家 IT 公司,叫做 npm, Inc. 这家公司旗下有一个非常著名的网站: https://www.npmjs.com/ ,它是全球最大的包共享平台,你可以从这个网站上搜索到任何你需要的包
    • 到目前为止,全球约 1100 多万的开发人员,通过这个包共享平台,开发并共享了超过 120 多万个包 供我们使用。
    • npm, Inc. 公司提供了一个地址为 https://registry.npmjs.org/ 的服务器,来对外共享所有的包,我们可以从这个服务器上下载自己所需要的包。
    • 从 https://www.npmjs.com/ 网站上搜索自己所需要的包
    • 从 https://registry.npmjs.org/ 服务器上下载自己需要的包
  • 如何下载包
    • npm, Inc. 公司提供了一个包管理工具,我们可以使用这个包管理工具,从 https://registry.npmjs.org/ 服务器把需要的包下载到本地使用。
    • 这个包管理工具的名字叫做 Node Package Manager(简称 npm 包管理工具),这个包管理工具随着 Node.js 的安装包一起被安装到了用户的电脑上。
    • 在终端中执行npm -v命令,来查看自己电脑上所安装的 npm包管理工具的版本号:
  • 包的语义化版本规范
    • 包的版本号是以“点分十进制”形式进行定义的,总共有三位数字,例如 2.24.0。其中每一位数字所代表的的含义如下:
      • 第1位数字:大版本
      • 第2位数字:功能版本
      • 第3位数字:Bug修复版本
    • 版本号提升的规则:只要前面的版本号增长了,则后面的版本号归零。

包的分类

两大类

  • 项目包:那些被安装到项目的node_modules目录中的包都是项目包。项目包又分为两类:

    • 开发依赖包:被记录到devDependencies节点中的包,只在开发期间会用到
    • 核心依赖包:被记录到dependencies节点中的包,在开发期间和项目上线之后都会用到
      WEB前端NodeJS—包_第1张图片
  • 全局包:在执行npm install命令时,如果提供了-g参数,则会把包安装为全局包。
    全局包会被安装到 C:\Users\用户目录\AppData\Roaming\npm\node_modules 目录下。

    注意:只有工具性质的包,才有全局安装的必要性。判断某个包是否需要全局安装后才能使用,可以参考官方提供的使用说明即可。

    WEB前端NodeJS—包_第2张图片

常用的全局包

json-server

可视为json文件服务器

  • 安装:

    nom install --global json-server
    
  • **启动服务器:**先创建一个db.json文件并写入json数据,然后同级目录下执行

    json-server -w db.json -p 8080 
    

nodemon

  • 为什么要使用 nodemon?在编写调试 Node.js 项目的时候,如果修改了项目的代码,则需要频繁的手动 close 掉,然后再重新启动,非常繁琐。现在我们可以使用nodemon工具。它能够监听项目文件的变动,当代码被修改后,nodemon 会自动帮我们重启项目,极大方便了开发和调试。

  • 步骤:

    1. 安装: 在命令行输入npm install --global nodemon

      在这里插入图片描述

    2. 开启服务: 每次进入目录开启项目把原来的~~node app.js~~换成nodemon app.js

  • 注意,要想在命令行生效,须添加prefix目录到环境变量

i5ting_toc

是一个可以把 md 文档转为 html 页面的小工具

WEB前端NodeJS—包_第3张图片

规范的包结构

  • 一个规范的包,它的组成结构,必须符合以下 3 点要求:

    • 包必须以单独的目录而存在
    • 包的顶级目录下要必须包含package.json这个包管理配置文件
    • package.json中必须包含nameversionmain这三个属性,分别代表包的名字、版本号、包的入口。
  • 注意:以上 3 点要求是一个规范的包结构必须遵守的格式,关于更多的约束,可以参考如下网址:https://yarnpkg.com/zh-Hans/docs/package-json

开发自己的包

  1. 需要实现的功能:

    • 格式化日期

      WEB前端NodeJS—包_第4张图片

    • 转义 HTML 中的特殊字符

      WEB前端NodeJS—包_第5张图片

    • 还原 HTML 中的特殊字符

      WEB前端NodeJS—包_第6张图片

  2. 初始化包的基本结构

    • 新建itheima-tools文件夹,作为包的根目录;在itheima-tools文件夹中,新建如下三个文件:
      • package.json (包管理配置文件)
      • index.js (包的入口文件)
      • README.md (包的说明文档)
  3. 初始化package.json

    WEB前端NodeJS—包_第7张图片

  4. index.js中定义格式化时间的方法

    WEB前端NodeJS—包_第8张图片

  5. 在 index.js 中定义转义 HTML 的方法

    WEB前端NodeJS—包_第9张图片

  6. 在 index.js 中定义还原 HTML 的方法

    WEB前端NodeJS—包_第10张图片

  7. 将不同的功能进行模块化拆分

    • 将格式化时间的功能,拆分到 src -> dateFormat.js 中
    • 将处理 HTML 字符串的功能,拆分到 src -> htmlEscape.js 中
    • 在 index.js 中,导入两个模块,得到需要向外共享的方法
    • 在 index.js 中,使用 module.exports 把对应的方法共享出去
  8. 编写包的说明文档

    • 包根目录中的 README.md 文件,是包的使用说明文档。通过它,我们可以事先把包的使用说明,以 markdown 的格式写出来,方便用户参考。
    • README 文件中具体写什么内容,没有强制性的要求;只要能够清晰地把包的作用、用法、注意事项等描述清楚即可。
    • 我们所创建的这个包的 README.md 文档中,会包含以下 6 项内容:安装方式、导入方式、格式化时间、转义 HTML 中的特殊字符、还原 HTML 中的特殊字符、开源协议

发布删除包

  1. 注册 npm 账号

    • 访问 https://www.npmjs.com/ 网站,点击 sign up 按钮,进入注册用户界面
    • 填写账号相关的信息:Full Name、Public Email、Username、Password
    • 点击 Create an Account 按钮,注册账号
    • 登录邮箱,点击验证链接,进行账号的验证
  2. 登录 npm账号:npm 账号注册完成后,可以在终端中执行 npm login 命令,依次输入用户名、密码、邮箱后,即可登录成功。

    WEB前端NodeJS—包_第11张图片

    • 注意,在运行 npm login 命令之前,必须先把下包的服务器地址切换为 npm 的官方服务器。否则会导致发布包失败!
  3. 把包发布到 npm 上:将终端切换到包的根目录之后,运行 npm publish 命令,即可将包发布到 npm 上(注意:包名不能雷同)

    WEB前端NodeJS—包_第12张图片

  4. 删除已发布的包:运行npm unpublish 包名 --force 命令即可从 npm 删除已发布的包。

    在这里插入图片描述

    • npm unpublish 命令只能删除 72 小时以内发布的包
    • npm unpublish 删除的包,在 24 小时内不允许重复发布
    • 发布包的时候要慎重,尽量不要往 npm 上发布没有意义的包!

你可能感兴趣的:(前端,#,NodeJs,前端,node.js)