一、什么是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. golang实现ping命令

    // Copyright 2009 The Go Authors.  All rights reserved.// Use of this source code is governed by a B ...

  2. ssh公钥免密码登录

    1,生成公钥 ssh-keygen -t rsa 2,上传至服务器 将个人电脑的公钥添加到服务器 cat id_rsa.pub >> ~/.ssh/authorized_keys 3,本地 ...

  3. MVC4.0 WebApi如何设置api支持namespace

    1.自定义HttpControllerSelector /// <summary> /// 设置api支持namespace /// </summary> public cla ...

  4. JSP的编译指令

    JSP有3个编译指令,是通知JSP引擎的消息,它不直接生成输出.编译指令都有默认值,无须为每个指令设置值. 常见的编译指令有如下三个: page:针对当前页面的指令. include:指定包含另一个页 ...

  5. Linux 前台 和 后台进程 说明

    一. 有关进程的几种常用方法 1.1  & 符号 在命令后面加上一个 & 符号,表示该命令放在后台执行,如: [oracle@singledb ~]$ crontab -l 20 17 ...

  6. python--参数列表的分拆

    当你要传递的参数已经是一个列表,调用的函数却接受分开一个个的参数,这个时候可以考虑参数列表拆分: 可以使用* 操作符来自动把参数列表拆开: args=[3,6] x=list(range(*args) ...

  7. C# 天气预报

    问题描述: 使用C#做一个简易的天气预报系统 问题解决: 主要使用类如下: WeatherLoc:包含常用的调用中国气象局天气情况接口 using System; using System.Colle ...

  8. Matlab画柱状和折线对照图

        上面是效果图,看着很不错吧,主要的问题在于用XTickLabel设置横坐标时候,横坐标会扩展,就是说如果label是[1 2 3],咱就做了三组试验,参数分别是 1 2 3,但是显示是1 2 ...

  9. Leetcode#151 Reverse Words in a String

    原题地址 将单词按空格分词,然后倒序拼接即可 代码: void reverseWords(string &s) { vector<string> words; ; ; ; i &l ...

  10. [unroll(num)] for(int i;i<num;i++)

    https://msdn.microsoft.com/en-us/library/windows/desktop/bb509602(v=vs.85).aspx Unroll the loop unti ...