【Node】Node包的管理、第三方模块


Node.js 由三部分组成:ECMAScript 核心 + 全局成员 + 模块成员

  • 核心模块: 随着Node.js的安装包,一同安装到本地的模块,叫做核心模块。eg:fs,path等模块,都是由Node.js官方提供的核心模块。
  • 第三方模块: 一些非官方提供的模块,如果大家需要使用某些第三方模块,必须去一个叫做 NPM 的网站上搜索并下载才能使用。
  • 用户自定义模块: 程序员在自己项目中写的Javascript 文件。

第三方模块

第三方模块两种存在形式:

  • js文件的形式存在,提供实现项目具体功能的API接口。
  • 命令行工具形式存在,辅助项目开发

获取第三方模块:

  • npmjs.com:第三方模块的存储和分发仓库。
  • npm(Node Package Manager):node的第三方模块管理工具,npm是整个Node.js社区最流行、支持第三方模块最多的包管理器。

Node.js包

  • .英文名叫做 Packages,包是在模块基础上更深一步的抽象
  • 包的目的:方便分发和推广基于 CommonJS 规范实现的 应用程序 或 类库
  • 包可以看作是模块、代码 和 其它资源组合起来形成的独立作用域

规范的包结构:

  1. 包都要以一个单独的目录而存在
  2. package.json(包描述文件) 必须在包的顶层目录下;
  3. package.json 文件必须符合 JSON 格式,并且必须包含如下三个属性:name, version, main
    name: 包的名字
    version: 包的版本号
    main: 表示包的入口文件
  4. 二进制文件应该在bin目录下;
  5. javaScript代码应该在lib目录下;
  6. 文档应该在doc目录下;
  7. 单元测试应该在test目录下;
  8. Node.js对包要求并没有那么严格,只要顶层目录下有package.json,并符合基本规范即可

包描述文件 package.json:

列举当前项目所依赖的包;指定当前项目所使用的的包的版本;实现可重用的构建,更易于其他开发人员分享包。

package.json文件的作用:

  • 锁定包的版本,确保再次下载时不会因为包版本不同而产生问题。
  • 加快下载速度,因为该文件中已经记录了项目所依赖 第三方包的树状结构和包的下载地址,重新安装时只需下载即可,不需要做额外的工作。

使用 npm init -y 命令生成。

注意: 在传输项目时,因为node_modules文件夹所占内存较大,因此不需要传输node_modules文件夹,接收者可通过package.json文件的记录项使用 npm install 下载当前项目所依赖的第三方模块。

  • name:包的名称,必须是唯一
  • description:包的简要说明
  • version:符合语义化版本识别规范的版本字符串
  • keywords:关键字数据,通常用于搜索
  • maintainers:维护者数组,每个元素要包含name、email、web可选字段
  • contributors:贡献者数组,格式与maintainers相同。包的坐着应该是贡献者数据的第一个元素
  • bugs:提交bug的地址,可以是网址或者电子邮件地址
  • licenses:许可证数组,每个元素要包含type和url字段
  • repositories:仓库托管地址数组,每个元素要包含type、url和path字段
  • dependencies:包的依赖,一个关联数组,由包名称和版本号组成
  • devDependencies:开发依赖项,表示一个包在开发期间用到的依赖项

项目依赖:

  • 在项目的开发阶段和线上运营阶段,都需要依赖的第三方包,称为项目依赖。
  • 使用 npm install 包名 命令下载的文件会默认被添加到 package.json 文件的 dependencies 字段。

开发依赖:

  • 在项目的开发阶段需要依赖,线上运营阶段不需要依赖的第三方包,称为开发依赖。
  • 使用 npm install 包名 --save-dev 命令将包添加到package.json文件的 devDependencies 字段 中

npm

npm组成部分

  • Web网站:用来查找包、设置配置文件以及管理npm应用的其他方面,例如,可以为自己的公司设置公共或私有包的访问管理。
  • 命令行接口:包管理器,大多数开发人员会通过它来使用包。
  • 注册中心:提供JavaScript软件及其元数据信息的大型公共数据库,也就是官方仓库。

npm命令:

  1. 升级npm:npm install npm -g(-g是安装参数,代表全局安装)
  2. 安装本地包:npm install 包名
  3. 安装指定版本的包:npm install 包名@版本号
  4. 查看当前配置:npm config ls
  5. 安装全局的包:npm install -g 包名

全局的包的默认安装路径为:C:\Users\***\AppData\Roaming\npm

更改全局包和缓存的安装路径:

  • 在想更改的目录下新建两个文件夹:node_global和node_cache
  • 打开命令提示符,执行:
    npm config set prefix “路径node_global”
    npm config set cache “路径\node_cache”
    可以通过npm config ls 命令查看配置结果
  • 成功后设置环境变量,在path变量下增加"路径node_global"
  1. 查看安装信息:
    查看当前目录下安装的包:npm list
    查看全局安装的包:npm list -g

  2. 创建默认的package.json:npm init --yes

  3. 安装在开发与测试环境下使用的包:npm install 包名 --save-dev (会在package.json文件中加入"devDependencies"节点)

  4. 安装在生产环境中使用的包:npm install 包名 (会在package.json文件中加入"dependencies"节点)

  5. 包的升级:
    升级当前目录下指定的包:npm update 包名
    升级全局的包:npm update -g 包名

  6. 包的卸载:
    卸载"dependencies"节点下的包(生产环境):npm uninstall 包名
    卸载"devDependencies"节点下的包(开发与测试环境):npm uninstall 包名 --save-dev
    卸载全局的包:npm uninstall -g 包名

  7. 清空npm的本地缓存: npm cache clean

  8. 发布自己开发的包:
    在npm服务器上注册账号
    使用 npm publish 发布

  9. 安装淘宝的npm镜像:在安装包时,用cnpm命令行工具代替npm:npm install -g cnpm --registry=https://registry.npm.taobao.org


nodemon模块

模块的作用:

nodemon是一个命令行工具,用以辅助项目开发。在Node.js中,可以在每次修改文件后重新执行该文件。

使用步骤:

  • 下载:npm install nodemon -g
  • 在命令行工具中使用nodemon命令代替node命令执行文件

模块加载顺序

  1. 从缓存中加载
  2. 加载核心模块
  3. 加载文件模块
  4. 文件夹作为模块
    加载package.json文件指定的文件
    加载index.js文件
    加载index.node文件
  5. 从node_modules目录加载
  6. 从全局目录加载
  7. 循环加载
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南栀~zmt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值