一、什么是npm呢

npm(Node Package Manager,node包管理器)是node的包管理器,他允许开发人员在node.js应用程序中创建,共享并重用模块。模块就是可以在不同的项目中重用的代码库。他也可以用来共享完整的node.js代码库。
npm安装
npm的安装非常简单,在linux下只要一条命令即可完成安装(在windows下由于node.js本身就集成了npm的功能,所以安装了node.js,npm也就相应的安装完成了。),如下:
apt-get install npm

安装完后,运行“npm”命令检查一下是否安装成功,出现如下提示说明安装成功:

lee@mypc ~ $ npm

Usage: npm <command>

where <command> is one of:
access, add-user, adduser, apihelp, author, bin, bugs, c,
cache, completion, config, ddp, dedupe, deprecate, dist-tag,
dist-tags, docs, edit, explore, faq, find, find-dupes, get,
help, help-search, home, i, info, init, install, issues, la,
link, list, ll, ln, login, logout, ls, outdated, owner,
pack, ping, prefix, prune, publish, r, rb, rebuild, remove,
repo, restart, rm, root, run-script, s, se, search, set,
show, shrinkwrap, star, stars, start, stop, t, tag, team,
test, tst, un, uninstall, unlink, unpublish, unstar, up,
update, upgrade, v, verison, version, view, whoami npm <cmd> -h quick help on <cmd>
npm -l display full usage info
npm faq commonly asked questions
npm help <term> search for help on <term>
npm help npm involved overview Specify configs in the ini-formatted file:
/home/lee/.npmrc
or on the command line via: npm <command> --key value
Config info can be viewed via: npm help config npm@3.3.12 /usr/local/lib/node_modules/npm

二、npm使用说明

1、模式

npm有全局和本地两种模式。

本地模式是npm的默认模式,这种模式的工作范围仅限于当前的工作目录下,任何操作都不会影响电脑上的其他node.js代码。

eg. 把log4js安装到当前项目下

npm install -d log4js

反之,全局模式是为电脑上所有的node.js项目服务的。如果安装Node时使用的默认目录,在全局模式下面,NPM会把包安装到/usr/local/lib/node_modules。

eg. 安装express

npm install -g express

2、npm常用命令

  • npm init  会引导你创建一个package.json文件,包括名称、版本、作者这些信息等
  • npm install <name> 安装nodejs的依赖包
  • npm install <name> -g  将包安装到全局环境中
  • npm install <name> --save  安装的同时,将信息写入package.json中。项目路径中如果有package.json文件时,直接使用npm install方法就可以根据dependencies配置安装所有的依赖包
  • npm remove <name> 移除
  • npm update <name> 更新
  • npm ls  列出当前安装的了所有包
  • npm root  查看当前包的安装路径
  • npm root -g  查看全局的包的安装路径
  • npm help  帮助,如果要单独查看install命令的帮助,可以使用的npm help install
三、安装模块:
安装npm之后就可以从终端安装模块了。
按Windows键+r,输入cmd,调出命令行窗口。利用cd切换到项目所在的目录,在所建项目的根目录下执行如下命令:npm install [module_name],就可以在项目的根目录下看到node_modules文件夹,这个文件夹里面的模块就是刚才下载的模块了。npm install [module_name]这个命令向npm注册服务器发送请求,把某个模块的最新版本下载到本地计算机上。
下面我们以underscore这个模块为例。
F:\studyNeed\testjs>npm install underscore
underscore@1.8.3 node_modules\underscore
安装成功的输出告诉我们三件事情:
  >成功下载的模块的名称
  >模块的版本
  >模块的下载位置
具体的执行如下:
1>在计算机上任意建一个文件夹,新建一个文件,打开文本编辑器输入如下代码
var _ = require('underscore');
_.each([1, 2, 3], function(num){
console.log("underscore.js says " + num);
});
2>将文件保存成:foo.js
3>使用上面介绍的安装underscore模块:
npm install underscore
注意:为了让npm将模块安装在正确的位置,在运行上述命令时必须位于项目文件夹中。
4>从命令行终端运行:node foo.js
会看到如下的运行结果:

3、使用模块
要在node.js应用程序中使用模块,确保模块下载之后使用require来请求模块。在应用程序中请求一个模块的方法如下:
var module = require('module');
当应用程序运行的时候,他将在源文件中找库(library),并将其包含在应用程序中,通常我们要使用一个模块将其赋值给变量,这个变量就是对这个模块的引用。上面的例子可以说明这点。
4、使用npm查看全局安装的包

在使用node的时候,用npm安装了很多软件,过一段时间没有使用就会忘记,怎么查看自己全局安装过的包,用命令

npm list -g --depth 0

显示如下:

 

node.js的npm详解的更多相关文章

  1. 《Node.js开发实战详解》学习笔记

    <Node.js开发实战详解>学习笔记 ——持续更新中 一.NodeJS设计模式 1 . 单例模式 顾名思义,单例就是保证一个类只有一个实例,实现的方法是,先判断实例是否存在,如果存在则直 ...

  2. Node.js中Async详解:流程控制

    安装 npm install async --save 地址 https://github.com/caolan/async Async的内容主要分为三部分 流程控制: 简化九种常见的流程的处理 集合 ...

  3. Node.js + Express中间件详解

    使用中间件 Express是一种路由和中间件Web框架,它具有自己的最小功能:Express应用程序本质上是一系列中间件函数调用. 中间件函数是可以访问请求对象 (req),响应对象(res)以及应用 ...

  4. Node.js HTTP 使用详解

    对于初学者有没有发觉在查看Node.js官方API的时候非常简单,只有几个洋文描述两下子,没了,我第一次一口气看完所以API后,对于第一个示例都有些懵,特别是参数里的request和response, ...

  5. 阿里云ECS服务器部署Node.js项目全过程详解

    本文详细介绍如何部署NodeJS项目到阿里云ECS上,以及本人在部署过程中所遇到的问题.坑点和解决办法,可以说是全网最全最详细的教程了.同时讲解了如何申请阿里云免费SSL证书,以及一台ECS服务器配置 ...

  6. Node.js之eventproxy详解

    安装 npm install eventproxy --save 调用 var EventProxy = require('eventproxy'); 异步协作 多类型异步协作 此处以页面渲染为场景, ...

  7. Node.js npm 详解

    一.npm简介 安装npm请阅读我之前的文章Hello Node中npm安装那一部分,不过只介绍了linux平台,如果是其它平台,有前辈写了更加详细的介绍. npm的全称:Node Package M ...

  8. ES6,ES2105核心功能一览,js新特性详解

    ES6,ES2105核心功能一览,js新特性详解 过去几年 JavaScript 发生了很大的变化.ES6(ECMAScript 6.ES2105)是 JavaScript 语言的新标准,2015 年 ...

  9. Linux(CentOS)安装Node.JS和npm的两种方式(yum安装和源码安装)

    yum安装 yum安装是将yum源中的rpm包下载到本地,安装这个rpm包.这个rpm包是别人编译安装好的二进制包.这种方式方便快捷,特别是不用考虑包依赖. 0.了解linux版本 通过 uname ...

随机推荐

  1. 上传图片的回调函数,callback作为一个函数针对回调函数

    Tool.ImageUpload = function (selector, callback) { /// <summary>图片上传</summary> /// <p ...

  2. How to Call a synchronize function asynchronizly in C#

    How to call a function asynchronizly in C# # Page1- Delegate.begininvoke, endinvoke BeginInvoke and ...

  3. iTween基础之Fade(淡入淡出)

    一.基础介绍:二.基础属性 原文地址: http://blog.csdn.net/dingkun520wy/article/details/50923665 一.基础介绍 FadeTo:从当前透明度变 ...

  4. [shell基础]——if/for/while/until/case 语句

    for语句 do echo $loop done ` do echo $loop done for loop in `ls /tmp` do echo $loop done while语句 while ...

  5. 微信小程序购物商城系统开发系列

    微信小程序购物商城系统开发系列 微信小程序开放公测以来,一夜之间在各种技术社区中就火起来啦.对于它 估计大家都不陌生了,对于它未来的价值就不再赘述,简单一句话:可以把小程序简单理解为一个新的操作系统. ...

  6. js之基本包装类型

    为了便于操作“基本类型值”,JS 提供了 三个 特殊的引用类型:Boolean.Number.String.这些类型和其他引用类型相似,但同时 也具备 与各自基本类型相应的特殊行为. 实际上:每当读取 ...

  7. Iphone5s 通话质量差 问题解决

    从某段时间开始,我的手机出现通话质差的情况.而且与信号电平有密切关系,只要覆盖稍差的地方,通话就劣化. 具体症状是我时常听不清对方说话,但对方能够清晰听到我说话. 因为本人也是从事无线网络优化软件产品 ...

  8. 关于ASCII、GB231、GBK、UTF-8/UTF8、ANSI、unicode的学习笔记

    继续上次的学习内容,写一些自己学习的笔记吧!总是觉得没有笔记的学习总是不那么踏实,我承认自己是个记忆力很差的人,特别羡慕那些可以把自己学过的东西记得很牢靠的人.哎!可惜我不是,那只能做出来点东西,就算 ...

  9. 【Binary Tree Post order Traversal】cpp

    题目: Given a binary tree, return the postorder traversal of its nodes' values. For example:Given bina ...

  10. Ext.Ajax中scope的作用

    在Ext的前台Js中使用Ajax请求,如果想让回调函数中的this作用域跟当前的类一样如何实现呢?Ajax提供了一个参数scope. 详细代码如下: layout : { type : 'accord ...