美文网首页
3分钟快速了解npm是什么

3分钟快速了解npm是什么

作者: 赛博剑仙_李玄器 | 来源:发表于2019-04-24 13:05 被阅读0次

它是世界上最大的软件注册表。

每星期大约有 30 亿次的下载量,包含超过 600000 个(package,即代码模块)。

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

NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题

常见的使用场景有以下几种:

允许用户从NPM服务器下载别人编写的第三方包到本地使用。

允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。

允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

npm 由三个独立的部分组成:网站、注册表、命令行工具;

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

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

注册表 (CLI)通过命令行或终端运行。开发者通过 CLI 与 npm 打交道。


接下来引入对npm的通俗解释:

在GitHub兴起前,前端通过网址共享代码。

用哪个框架,就去那个网址下载,然后放在自己的网站上。

但是当网站依赖的代码越来越多,这个下载过程就越来越麻烦。

这个过程需要被简化,于是一个叫 Isaac Z. Schlueter 的程序员,给出一个解决方案:用一个工具把这些代码集中到一起来管理。

这个工具就是他用 JavaScript (运行在 Node.js 上)写的 npm,全称是 Node Package Manager

NPM 实现的思路大概是这样的:

1、买个服务器作为代码仓库,在里面放所有需要共享的代码

2、发邮件通知 jQuery、Bootstrap、Underscore 作者赶快用 npm publish ,并且把代码提交到仓库上,并且分别取名 jquery、bootstrap 和 underscore(全是小写)

3、社区里的其他人如果想使用这些代码,就不用再去网站上下载,只需要把 jquery、bootstrap 和 underscore 写到 package.json 里。

4、然后运行 npm install ,NPM就会帮他们下载代码。

5、下载完的代码出现在 node_modules 目录里,可以随意使用了。

这些可以被使用的代码被叫做「包」(package),

这就是 NPM 名字的由来:Node Package(包) Manager(管理器)。

至于后续,jQuery这些框架的作者凭什么回复Isaac,凭什么这样一个工具会火起来,可以去CSDN原文中自行阅读。

相关文章

  • 快速了解npm

    npm是什么? npm就是Node环境下的一个包管理平台,那么包管理又是什么呢?打个比方,你现在要造一台车,车架子...

  • 3分钟快速了解npm是什么

    它是世界上最大的软件注册表。 每星期大约有 30 亿次的下载量,包含超过 600000 个(package,即代码...

  • nrm 设置 npm 命令的路径

    nrm 是什么 nrm 是一个 NPM 源管理器,允许你快速地在如下 NPM 源间切换,很方便: npm cnpm...

  • 重温React——Hook

    重温React——Hook create-react-app快速搭建开发环境 npx是什么 npm 5.2以上版本...

  • npm了解

    1. 简介 npm (Node Package Manager) 1.通过npm可以安装、共享、分发代码 , 管理...

  • 我的NPM 插件

    NRM(快速切换NPM源)

  • React快速开始+Recat主要知识内容

    React快速开始+Recat主要知识内容 快速开始 创建项目文件夹 npm init // 初始化npm配置文件...

  • nrm

    一、简介 nrm(npm registry manager )是npm的镜像源管理工具,可以快速地在 npm 源间...

  • 快速切换npm源的方法-nrm

    nrm是一个NPM源管理器,允许你快速的在多个NPM源间切换 npm cnpm taobao nj npm Mir...

  • 从零开始搭建react项目

    1. 快速搭建: npx npx 附带npm 5.2及更高版本,请参阅旧版本npm版本的说明。 npm Yarn ...

网友评论

      本文标题:3分钟快速了解npm是什么

      本文链接:https://www.haomeiwen.com/subject/nhtggqtx.html