菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
1
35

npm详解

原创
05/13 14:22
阅读数 316

一、npm介绍及安装

对于npm,大家多多少少都用过,作为一门技术,我想写篇博客记录一下,一起分享,一起学习。

npm,是Node Package Manager的缩写,node的模块管理器,它是随同NodeJS一起安装的包管理和分发工具。通过npm可以实现JavaScript资源的下载、共享、发布,npm聚集了丰富大量的JavaScript资源包。如果你有GitHub的使用经验,其实npm的性质跟github有点类似,npm是JavaScript的资源管理平台,只不过npm有自己的发布和下载规范。

对于npm的安装,其实新版本的nodeJS已经集成了npm,所以只要你安装了nodejs,其也一并装好了。
图片.png

二、如何使用淘宝镜像#

像介绍所说的,npm拥有大量JavaScript资源包,而资源包服务器是在国外的,通过命令下载资源包的时候,因地域网速而异,国内相对会比较慢,在这里,我介绍一下使用淘宝镜像加载npm中的JavaScript资源包。你也可以访问https://npm.taobao.org/自行操作。

打开命令行,输入指令:

npm install -g cnpm --registry=https://registry.npm.taobao.org

回车即可,待加载完:
图片.png
由于是全局安装,保存目录在全局中,如下:
图片.png
那就成功了。之后使用cnpm代替npm就可以了。
比如:npm install 用 cnpm install 代替。

三、初始化package.json#

package.json 位于项目的根目录下面,用于定义包的属性,记录所有安装模块的名字。package.json有项目开发及发布中所有的依赖包,在团队开发中,只需要把package.json文件共享,其它开发者只需要通过 npm install 命令安装package.json文件中记录的资源就可以了,无需把所有的资源包发送给其他开发者。下面我们来看一下如何初始化package.json。

1、在项目根目录打开命令行窗口,可以按shift键,点鼠标右键,选择在此处打开窗口命令,或者cd 到当前项目目录
2、输入 npm init 回车
图片.png
3、按照项目填写相关信息,具体属性参数如下:

name - 包名。
version - 包的版本号。
description - 包的描述。
homepage - 包的官网 url 。
author - 包的作者姓名。
contributors - 包的其他贡献者姓名。
dependencies - 依赖包列表。如果依赖包没有安装,npm会自动将依赖包安装在node_module 目录下。
repository - 包代码存放的地方的类型,可以是git 或 svn,git 可在 Github 上。
main - main 字段是一个模块ID,它是一个指向你程序的主要项目。
keywords - 关键字

最后点击yes就可以生成package.json文件。

这里我就随便敲了,格式如下:

    {
      "name": "npm",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "author": "",
      "license": "ISC"
    }

四、npm安装模块#

安装指令如下:

npm install <Module Name>@<?>

<Module Name>是资源模块名称,例如:jquery,@<?>是版本号,可以省略,也可以指定版本号,省略默认最新版本。

安装分全局安装和本地安装,指令区别是全局多了个’-g’,如 npm install jquery -g 或npm install -g jquery

两者还是有区别的:
1、安装位置会不一样。全局安装会安装到全局环境里面,路径可以通过指令npm root -g查到,一般在 \Users\用户名\AppData\Roaming\npm\node_modules目录下。
图片.png
本地安装就直接在项目路劲的node_modules下。

2、调用方式不一样
全局安装会生成cmd文件,供命令行使用。
图片.png
本地安装可以直接通过require()的方式引入项目中node_modules目录下的模块

    var jq = require('jquery');
    document.write('<h1>Hello World!!!</h1>');
    alert(jq('h1').length);

npm还提供了开发依赖安装(devDependencies)与生产依赖安装(dependencies),安装指令稍微有些不一样,举个安装jquery的例子:

生产依赖:npm install jquery --save 或 npm install --save jquery
开发依赖:npm install jquery --save-dev 或 npm install --save-dev jquery

使用–save 和–save-dev标识符,还会在package.json文件的dependencies字段和devDependencies字段添加该package的名称和版本号:
图片.png

提示:
1、此处可以使用淘宝镜像下载,比如cnpm install jquery --save-dev,会提高加载速度;
2、版本号前面的’^'表示版本向上取最新的,比如说如果JQ出了个4版本,就会去到4版本

五、整理npm常见的指令

除了上述所讲的指令,npm还有很多指令,下面整理列出:

1、版本检查:npm -v
2、安装指令:npm install [-S|–save|-D|–save-dev|-O|–save-optional] [-E|–save-exact] [–dry-run]
3、卸载指令:npm uninstall jquery --save 或者 npm uninstall jquery(加 --save 会自动把package.json中dependencies属性中的jquery删除,不加则不删除)
4、更新指令:npm update jquery
5、搜索指令:npm search express
6、帮助指令:npm help
7、查看模块:npm ls(全局npm ls -g)
8、查看包的安装路径:npm root [-g]
9、管理npm配置:npm config

    npm config set <key> <value> [-g|--global]
    npm config get <key>
    npm config delete <key>
    npm config list
    npm config edit
    npm get <key>
    npm set <key> <value> [-g|--global]

10、更新npm:npm install npm -g
11、注册用户:npm adduser
12、发布模块:npm publish

还有更多的指令待大家探索

发表评论

0/200
1 点赞
35 评论
收藏