node成长之路第三篇

npm的使用介绍

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

    允许用户从npm服务器下载别人编写的第三方包到本地使用。

    允许用户从npm服务器下载并安装别人编写的命令行程序到本地使用。

    语序用户讲自己编写的包或命令行程序上传到npm服务器供别人使用。

由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入npm-v来测试是否安装成功,命令如下,出现版本提示表示安装成功:


如果你安装的是旧版本的npm,可以很容易通过npm命令来升级,命令如下:

    sudo npm install npm -g

使用淘宝镜像的命令:

    cnpm install npm -g

如果是window系统使用命令:

    npm install npm -g

使用npm命令安装模块

    我们使用npm命令安装常用的nodejs web框架模块 express


安装好之后,express包就放在了工程目录下的node_modules目录中,因此在代码中只需要通过require('express')的方式就好,无需指定第三方包路径。

    

var express = require('express');

全局安装与本地安装

npm的包安装分为本地安装(local)、全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如

npm install express          # 本地安装
npm install express -g   # 全局安装

如果出现以下错误

npm err! Error: connect ECONNREFUSED 127.0.0.1:8087 

解决办法为:

$ npm config set proxy null

本地安装

    1.将安装包放在./node_modules下(运行npm命令时所在的目录),如果没有node_modules目录,会在当前执行npm命令的目录下生成node_modules目录。

    2.可以通过require()方法来引入本地安装的包。

全局安装

    1.将安装包放在/usr/local下或者你node的安装目录。

    2.可以直接在命令行里使用。

如果你希望具备两者功能,则需要在两个地方安装它或者使用npm link。

使用全局方式安装express

    

查看安装信息:


如果要查看某个模块的版本号 可以使用命令行 npm list grunt

使用package.json

pacaage.json位于模块的目录下,用于定义包的属性。

package.json属性说明:

    name -包名

    version-包的版本号

    description-包的描述

    homepage-包的官网url

    author - 包的作者姓名

    contributors - 包的其他贡献者姓名

    dependencies-依赖包列表。如果依赖包没有安装,npm会自动讲依赖包安装在node_modules目录下。

    reponsitory-包代码存放的地方的类型,可以是git或svn,git可在github上

    main-main字段指定了程序的主入口文件,require(‘moduleName’)就会加载这个文件。这个字段的默认值是模块根目录下面的index.js

    keywords-关键字

卸载模块时候命令行 npm uninstall express

查看包是否还存在 npm ls

更新模块 npm update express

搜索模块 npm search express

创建模块 npm init

$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg> --save` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
name: (node_modules) runoob                   # 模块名
version: (1.0.0) 
description: Node.js 测试模块(www.runoob.com)  # 描述
entry point: (index.js) 
test command: make test
git repository: https://github.com/runoob/runoob.git  # Github 地址
keywords: 
author: 
license: (ISC) 
About to write to ……/node_modules/package.json:      # 生成地址

{
  "name": "runoob",
  "version": "1.0.0",
  "description": "Node.js 测试模块(www.runoob.com)",
  ……
}


Is this ok? (yes) yes

使用命令在npm资源库中注册用户(使用邮箱注册)

$ npm adduser
Username: mcmohd
Password:
Email: (this IS public) mcmohd@gmail.com

用命令发布模块

$ npm publish

安装淘宝镜像使用cnpm

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


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值