速学npm

一:什么是Npm?

1.npm 是 Node.js 官方提供的包管理工具,他已经成了 Node.js 包的标准发布平台,用于 Node.js 包的发布、传播、依赖控制。npm 提供了命令行工具,使你可以方便地下载、安装、升级、删除包,也可以让你作为开发者发布并维护包。 

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

window  linux  华为 鸿蒙  安卓


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

网站
注册表(registry)
命令行工具 (CLI)
网站 是开发者查找包(package)、设置参数以及管理 npm 使用体验的主要途径。

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

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


Npm中文网:https://www.npmjs.cn

npm包搜索官方网址:https://www.npmjs.com

npm淘宝镜像 https://npm.taobao.org

你可以使用我们定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm:
npm install -g cnpm --registry=https://registry.npm.taobao.org

用法:
cnpm install 包名

二:为什么使用Npm

npm 是随同 Node.js 一起安装的包管理工具,能解决 Node.js 代码部署上的很多问题,常见的场景有以下几种:

允许用户从 npm 服务器下载别人编写的第三方包到本地使用。
允许用户从 npm 服务器下载并安装别人编写的命令行程序到本地使用。
允许用户将自己编写的包或命令行程序上传到 npm 服务器供别人使用。
npm 的背后,是基于 couchdb 的一个数据库,详细记录了每个包的信息,包括作者、版本、依赖、授权信息等。它的一个很重要的作用就是:将开发者从繁琐的包管理工作(版本、依赖等)中解放出来,更加专注于功能的开发。

三:安装

npm 不需要单独安装。在安装 Node 的时候,会连带一起安装 npm 。但是,Node 附带的 npm 可能不是最新版本,最后用下面的命令,更新到最新版本

window安装最新版本npm的命令
npm install npm -g  

使用 npm 安装自己。之所以可以这样,是因为 npm 本身与 Node 的其他模块没有区别。

# 查看 npm 命令列表
npm help

# 查看各个命令的简单用法
npm -l

# 查看 npm 的版本
npm -v

# 查看 npm 的配置
npm config list -l

四:使用

(1) npm init

npm init 用来初始化生成一个新的 package.json 文件。它会向用户提问一系列问题,如果你觉得不用修改默认配置,一路回车就可以了。
如果使用了 -f(代表force强制)、-y(代表yes),则跳过提问阶段,直接生成一个新的 package.json 文件。

注意:-f(代表force)、-y(代表yes) 所在目录不能是中文。
(2) npm search
	npm search 命令用于搜索 npm 仓库
(3)npm list
npm list 命令以树形结构列出当前项目安装的所有模块,以及它们依赖的模块。
npm list

# 加上 global 参数,会列出全局安装的模块
npm list -global

(4)npm install

使用 npm 安装包的命令格式为:
npm [install/i] [package_name]
npm install 包名
npm i 包名

本地模式和全局模式

npm 在默认情况下会从 http://npmjs.org 搜索或下载包,将包安装到当前目录的 node_modules 子目录下。


PATH 环境变量。

“本地安装”指的是将一个模块下载到当前项目的 node_modules 子目录,然后只有在项目目录之中,才能调用这个模块。

本地模式和全局模式的特点如下:

模式	可通过 require 使用	注册 PATH
本地模式		是			否
全局模式		否			是


# 本地安装
$ npm install <package name>

# 全局安装
$npm install -global <package name>
$npm install -g <package name>


全局安装在  C:\Users\sam\AppData\Roaming\npm\node_modules


包的卸载

npm uninstall 包名

安装不同的版本

install 命令总是安装模块的最新版本,如果要安装模块的特定版本,可以在模块名后面加上 @ 和版本号。


$ npm install time-stamp@latest
$ npm install time-stamp@0.1.1
$ npm install time-stamp@">=0.1.0 <0.2.0"
install 命令可以使用不同参数,指定所安装的模块属于哪一种性质的依赖关系,即出现在 packages.json 文件的哪一项中。

json文件中不允许有任何注释

--save:模块名将被添加到 dependencies,可以简化为参数-S。
--save-dev:模块名将被添加到 devDependencies,可以简化为参数-D。

$ npm install sax --save
$ npm install node-tap --save-dev
# 或者
$ npm install sax -S
$ npm install node-tap -D


1.dependencies 依赖

npm 核心一项内容,依赖管理,这个对象里面的内容就是我们这个项目所依赖的 js 模块包。下面这段代码表示我们依赖了 time-stamp 这个包,版本是 ^2.2.0 ,代表最小依赖版本是 2.2.0 ,

(1)如果这个包有更新,那么当我们使用 npm install 命令的时候,npm 会帮我们下载最新的包。
(2)当别人引用我们这个包的时候,包内的依赖包也会被下载下来。

  "dependencies": {
    "time-stamp": "^2.2.0"
  }
  
~会匹配最近的小版本依赖包,比如~1.2.3会匹配所有1.2.x版本,但是不包括1.3.0
^会匹配最新的大版本依赖包,比如^1.2.3会匹配所有1.x.x的包,包括1.3.0,但是不包括2.0.0


2.devDependencies 开发依赖

在我们开发的时候会用到的一些包,只是在开发环境中需要用到,但是在别人引用我们包的时候,不会用到这些内容,放在 devDependencies 的包。

"devDependencies": {
    "autoprefixer": "^6.4.0",0",
    "babel-preset-es2015": "^6.0.0",
    "babel-preset-stage-2": "^6.0.0",
    "babel-register": "^6.0.0",
    "webpack": "^1.13.2",
    "webpack-dev-middleware": "^1.8.3",
    "webpack-hot-middleware": "^2.12.2",
    "webpack-merge": "^0.14.1",
    "highlightjs": "^9.8.0"
}

当你有了一个完整的 package.json 文件的时候,就可以让人一眼看出来,这个模块的基本信息,和这个模块所需要依赖的包。我们可以通过 npm install 就可以很方便的下载好这个模块所需要的包。

npm install 默认会安装 dependencies 字段和 devDependencies 字段中的所有模块,
如果使用 --production 参数,可以只安装 dependencies 字段的模块。

npm install --production


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值