https://www.npmjs.com.cn/getting-started/what-is-npm/

    Ryan Dahl
    07_45_25__04_15_2019.jpg

    npm 为你和你的团队打开了连接整个 JavaScript 天才世界的一扇大门。

    它是世界上最大的软件注册表,每星期大约有 30 亿次的下载量,

    包含超过 600000 个 包(package)(即,代码模块)。

    来自各大洲的开源软件开发者使用 npm 互相分享和借鉴。

    包的结构使您能够轻松跟踪依赖项和版本。

    下面是关于 npm 的快速介绍:

    npm 由三个独立的部分组成:

    • 网站
    • 注册表(registry)
    • 命令行工具 (CLI)

    网站 是开发者查找包(package)、设置参数以及管理 npm 使用体验的主要途径。

    注册表 是一个巨大的数据库,保存了每个包(package)的信息。

    CLI 通过命令行或终端运行。开发者通过 CLI 与 npm 打交道。

    NPM(node package manager)顾名思义:即node包管理器,

    那么node(更准确的说是node.js)又是什么鬼呢?

    套用官方的解释是“node.js是一个基于Chrome V8引擎的javascrip运行时。

    ”有没有很懵逼?接下来我们就先弄清楚node.js的来龙去脉,

    然后再深入NPM的讲解。

    许多年前,JavaScript被发明了,但这时JS语言仅用来编写网页,

    也只能在浏览器内运行,离开了浏览器什么也做不了。

    此时的JS受限于浏览器的性能,运行效率低下。

    多年后Google发布了V8内核的浏览器,其革命性的突破,

    使JS在其上的运行效率成倍提升,足以媲美其他脚本语言,

    但此时的JS仍然仅仅用来写写网页,也脱离不了浏览器,

    这时有个叫Ryan Dahl的哥们想,既然JS运行效率如此高效,

    为何不让其脱离浏览器环境,使其成为一门像样的脚本语言呢?

    说干就干,要使JS脱离浏览器环境,必然涉及到许多系统接口的实现,

    比如新建、打开、关闭、读写文件,创建进程等,

    得益于V8引擎的高效性以及这哥们深厚的编程功底,

    node.js于2009年和大家见面了,

    让原本鸡肋(仅用于操作DOM)的JS一跃成为多面手,

    在众多脚本语言中崭露头角,此时的JS不仅能写前端,

    还能写后端,不仅能写命令行软件,还能写窗口软件,可谓风光无限.

    随着JS的火爆,大量优秀的代码片段相继出现,

    想象一下,编程时使用这些现成的代码片段,

    不仅能加快开发速度,还能减少工作量。

    可是分享、搜索、重用这些海量的代码片段成为了一个问题,

    于是NPM在2010年应运而生,说到这,你可能已经清楚了npm的作用,

    没错,npm就是一个工具,方便你搜索、重用JS代码片段的工具,

    它包含一个代码仓库(用来存储JS代码片段),

    一个网页(用来搜索可用的代码片段…),

    一个命令行工具(打交道最多的就是它了,后面详解)。

    很多人认为npm只能用做后端开发,其实不是这样的,

    前端开发也大量的用到npm,由于这点,

    我认为npm改名为JSPM更为恰当.