npm

npm是什么

  npm 为你和你的团队打开了连接整个 JavaScript 天才世界的一扇大门。它是世界上最大的软件注册表,每星期大约有 30 亿次的下载量,包含超过 600000 个 包(package) (即,代码模块)。来自各大洲的开源软件开发者使用 npm 互相分享和借鉴。包的结构使您能够轻松跟踪依赖项和版本。
下面是关于 npm 的快速介绍:

npm 由三个独立的部分组成:
  • 网站
  • 注册表(registry)
  • 命令行工具 (CLI)

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

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

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

  npm全称为Node Package Manager,是一个基于Node.js的包管理器,也是整个Node.js社区最流行、支持的第三方模块最多的包管理器。

  npm的初衷:JavaScript开发人员更容易分享和重用代码。

  npm的使用场景:

  允许用户获取第三方包并使用。

  允许用户将自己编写的包或命令行程序进行发布分享。

  npm版本查询:npm -v

npm安装

  1、安装nodejs

  由于新版的nodejs已经集成了npm,所以可直接通过输入npm -v来测试是否成功安装。

  2、使用npm命令来升级npm: npm install npm -g

什么是包(package)

  包是描述一个文件或一个目录。一个包的配置通常由以下构成:

  一个文件夹包含一个package.json配置文件。
  包含(含有package.json文件的文件夹)的Gzip压缩文件。
  解析gzip的url
  为注册表添加@的url 信息

  注意的是即使你从来没有在注册中心发布你的公共包,你可能仍然可以得到很多所有这些package, 使用npm的好处:

  如果你只是计划想写增加一个节点或/。

  Git url的形式:

  git:/ /github.com/user/project.git # commit-ish
  git + ssh:/ / user@hostname:project.git # commit-ish
  git +http://user@hostname项目/ blah.git # commit-ish
  git +https://user@hostname项目/ blah.git # commit-ish

  可以捡出commit-ish的一个git任何标签和master分支、安全哈希算法。

什么是模块(module)

  模板是通过配置文件中的一个dom节点进行包含一个或多个包。通常一般由包和配置文件以及相关模块程序构成完成一个或多个业务功能操作。

  一个模块可以在node . js 程序中装满任何的require()任何。 以下是所有事物加载模块的例子 :

  一个文件夹package.json文件包含一个main字段。
  一个文件夹index.js文件。
  一个JavaScript文件。

npm的包和模块的关系

  一般来说在js程序中使用require加载它们的模块在节点中进行配置npm包,一个模块不一定是一个包。

  例如,一些cli包, js程序节点中只包含一个可执行的 命令行界面,不提供main字段。 那么这些包不是模块。

  几乎所有npm包(至少,那些节点计划)包含许多模块在他们(因为每个文件加载require()是一个模块)。

  几乎所有的npm包都关联着多个模块,因为每个文件都使用require()加载一个模块。

  从module加载文件中的上下文node节点。如:var req = require(‘request’)。我们可能会说,“request模块赋值给req这个变量”。

npm的生态系统

  package.json文件定义的是包。

  node_modules文件夹是存储模块的地方。便于js查找模块。

  例如:

  如果创建一个node_modules/foo.js文件,通过var f=require(‘foo.js’)进行加载模块。因为它没有package.json文件所以foo.js不是一个包。

  如果没有创建index.js包或者package.json文件”main”字段,即使是在安装node_modules,因为它没有require()所以它不是一个模块。

npm的常用命令

  NPM提供了很多命令,例如install和publish,使用npm help可查看所有命令。

  NPM提供了很多命令,例如install和publish,使用npm help可查看所有命令。

  使用npm help 可查看某条命令的详细帮助,例如npm help install。

  在package.json所在目录下使用npm install . -g可先在本地安装当前命令行程序,可用于发布前的本地测试。

  使用npm update 可以把当前目录下node_modules子目录里边的对应模块更新至最新版本。

  使用npm update -g可以把全局安装的对应命令行程序更新至最新版。

  使用npm cache clear可以清空NPM本地缓存,用于对付使用相同版本号发布新版本代码的人。

  使用npm unpublish @可以撤销发布自己发布过的某个版本代码。

  使用淘宝 NPM 镜像: npm install -g cnpm –registry=https://registry.npm.taobao.org  详情见:http://npm.taobao.org/。

  使用cnpm来安装模块 cnpm install [name]

参考:https://www.cnblogs.com/john-sr/p/6036652.html