Nodejs的cnpm包管理器快速入门

简介: 介绍Node.js的cnpm包管理器,包括cnpm的实现原理、如何安装cnpm、使用cnpm安装软件包,以及Node.js搜索包的流程。

作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.China Node Package Manager(简称"CNPM")概述

1>.CNPM实现原理

  CNPM全称为"China Node Package Manager",即中国的包管理镜器。其原理是用一个完整npmjs.org镜像,你可以用此代替官方版本(只读),同步频率目前为10分钟一次以保证尽量与官方服务同步。

  在生产环境中,当我们下载的包比较大时,CNPM的作用还是相当可观的,毕竟你在国外下载一个比较大的包耗时较长,由于网络环境等因素可能要用到40分钟左右还未必能下载完毕,而用国内的软件源可能仅需几秒就可以搞定包下载的问题。  

  温馨提示:  
    当我们使用cnpm命令下载软件包时,默认会走国内的软件源去下载包,而使用npm命令下载软件包时,依旧还是回去官网下载哟~当然,你也可以将npm别名为cnpm哟,但我不推荐这样做,因为一旦国内的软件源服务器宕机后,你依旧无法访问官方的软件源(因为您将npm的别名指向了cnpm)

2>.CNPM的参考文档

  国内的NPM软件源有很多,其中阿里云的软件源就是一个不错的选择,本片笔记就是使用阿里的软件源。

  参考连接: 
    https://developer.aliyun.com/mirror/NPM

二.基于cnpm工具安装软件源

1>.安装cnpm软件包

C:\Users\yinzhengjie>npm install -g cnpm --registry=https://registry.npm.taobao.org
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
C:\Users\yinzhengjie\AppData\Roaming\npm\cnpm -> C:\Users\yinzhengjie\AppData\Roaming\npm\node_modules\cnpm\bin\cnpm
+ cnpm@6.1.1
added 689 packages from 974 contributors in 21.483s

C:\Users\yinzhengjie>

C:\Users\yinzhengjie>npm install -g cnpm --registry=https://registry.npm.taobao.org

2>.基于cnpm工具安装所需的软件包

C:\Users\yinzhengjie\demo>type package.json
{
  "name": "demo",
  "version": "1.0.0",
  "description": "My local warehouse",
  "main": "index.js",
  "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "math": "0.0.3"
  }
}

C:\Users\yinzhengjie\demo>
C:\Users\yinzhengjie\demo>cnpm i express --save
√ Installed 1 packages
√ Linked 48 latest versions
√ Run 0 scripts
√ All packages installed (52 packages installed from npm registry, used 2s(network 2s), speed 333.54kB/s, json 49(122.96kB), tarball 547.46kB)
C:\Users\yinzhengjie\demo>
C:\Users\yinzhengjie\demo>type package.json
{
  "name": "demo",
  "version": "1.0.0",
  "description": "My local warehouse",
  "main": "index.js",
  "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.17.1",
    "math": "0.0.3"
  }
}

C:\Users\yinzhengjie\demo>

C:\Users\yinzhengjie\demo>cnpm i express --save

三.NodeJS搜索包的流程

  NodeJS在使用模块名字来引入模块时,它会在当前目录的"node_modules"目录中寻找是否含有该模块,如果有则直接使用,如果没有则继续向上一级目录的"node_modules"中寻找,如果有就直接使用,如果没有就重复之前的步骤继续向上级目录找,直到找到根目录为止。  

  如果NodeJS到根目录的"node_modules"目录下依旧没有找到对应的模块文件,或者根目录压根就没有"node_modules"目录,则程序会报错~
目录
相关文章
|
6月前
|
缓存 资源调度 JavaScript
Node.js 包管理器(Corepack)
Node.js 包管理器(Corepack)
|
6月前
|
存储 监控 JavaScript
Node.js 性能平台5分钟快速入门
首先,确保拥有阿里云账号并开通服务,以及一台可上网的服务器。然后,创建应用并记下App ID和App Secret。通过tnvm安装Node.js性能平台组件,包括alinode和agenthub,检查安装成功的方法是`which node`和`which agenthub`命令显示路径包含`.tnvm`。接着,启动agenthub,并在服务器上运行一个示例应用(demo.js),该应用模拟计算密集型任务。最后,通过阿里云控制台观察监控数据和执行诊断操作。注意,性能平台每分钟上传一次日志,可能需等待几分钟才能看到数据。详细部署指南可参考官方文档。
80 6
|
2月前
|
存储 JavaScript
Nodejs的npm包管理器快速入门
介绍Node.js的npm包管理器的快速入门,包括包的概念、结构、描述文件、npm常用命令如安装、搜索、移除软件包,以及如何处理常见的npm工具部署错误。
53 2
Nodejs的npm包管理器快速入门
|
3月前
|
缓存 JavaScript 安全
2022年最新最详细的安装Node.js以及cnpm(详细图解过程、绝对成功)
这篇文章提供了2022年最新最详细的Node.js和cnpm安装教程,包括步骤图解、全局配置路径、cnpm安装命令、nrm的安装与使用,以及如何管理npm源和测试速度。
2022年最新最详细的安装Node.js以及cnpm(详细图解过程、绝对成功)
|
6月前
【node】 cnpm|npm查看、修改镜像地址操作 换源操作
【node】 cnpm|npm查看、修改镜像地址操作 换源操作
2954 1
|
6月前
|
缓存 JavaScript 前端开发
深入剖析NPM: Node包管理器的介绍和使用指南
深入剖析NPM: Node包管理器的介绍和使用指南
76 0
|
6月前
|
JavaScript 前端开发 开发者
Node.js的包管理和npm工具深度解析
【4月更文挑战第30天】本文深入解析Node.js的包管理和npm工具。包管理促进代码复用和社区协作,包包含元数据描述文件`package.json`和入口文件。npm提供搜索、安装、发布等功能,通过命令行进行操作,如`install`、`search`、`uninstall`。npm支持版本控制、全局安装、脚本定义及私有仓库。理解和熟练运用npm能提升Node.js开发效率。
|
6月前
|
JavaScript 前端开发
node.js 快速入门
node.js 快速入门
60 0
|
6月前
|
Web App开发 JavaScript 前端开发
【Node.js】大前端技能最通俗易懂的讲解 快速入门必看
【Node.js】大前端技能最通俗易懂的讲解 快速入门必看
79 0
|
6月前
|
Web App开发 JavaScript 关系型数据库
百度搜索:蓝易云【NodeJS 了解和快速入门 - 实现 http 服务 & 操作 mysql教程。】
通过使用上述示例代码,您可以快速入门并实现Node.js的HTTP服务和操作MySQL数据库。您可以根据需要进一步扩展和定制这些代码以满足您的具体要求。
63 0