Node.js之NPM工具使用
1.NPM介绍:包管理工具
(1)允许用户从NPM服务器下载别人编写的第三方包到本地石使用
(2)允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用
(3)允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用
2.window系统下使用命令行更新NPM:npm install npm -g
3.使用NPM命令安装模块:npm install <Module Name>
npm install express //Node.js Web 常用的框架模板,安装好后,express包就放在工程目录下的node_modules目录下
4.全局安装和本地安装:
**本地安装:将安装包放在./node_modules下(运行npm命令时所在的目录),如果没有node_modules目录,则会在当前执行npm命令的目录下创建node_modules目录,可以通过require()来引入本地安装的包
npm install express
**全局安装:将安装包放在/usr/local下或你的node的安装目录,可以直接在命令行中使用
npm install express -g
5.使用命令查看全局安装的模块:
npm ls -g
6.使用package.json:用于定义包的属性
**属性说明:
name-包名
version-包的版本号
description-包的描述
homepage-包的官网url
author-包的作者姓名
contributors-包的其他贡献者姓名
dependencies-依赖包列表,如果依赖包没有安装,npm会自动将依赖包安装在npm_modules目录下
repository-包代码存放的地方的类型,可以是git(Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目)或svn(一个版本管理工具,常用于软件开发项目中,实现代码、文档等的历史版本保存、共享和权限管理)
main-main字段是一个模块ID,它是一个指向你程序的主要项目,就是说,如果你的包名字叫express,然后用户安装它,然后require("express")
7.卸载模块:npm uninstall express
8.更新模块:npm search express
9.创建模块,package.json是必不可少的,可以使用npm生成基本的package.json文件:


10.在npm资源库中注册用户:
npm adduser

11.发布模块:npm publish
12.版本号:
语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按以下原则更新
- 如果只是修复bug,需要更新Z位。
- 如果是新增了功能,但是向下兼容,需要更新Y位。
- 如果有大变动,向下不兼容,需要更新X位。
13.NPM常用命令:
(1)npm help <command>可查看某条命令的详细帮助,例如npm help install
(2)在package.json所在目录下使用npm install . -g 可先在本地安装当前命令行程序,可用于发布前的本地测试
(3)使用npm update <package> -g 可以把当前目录下node_modules子目录里边的对象模块更新至最新版本
(4)使用npm update <package> -g 可以把全局安装的对应命令行程序更新至最新版本
(5)使用npm cache clear可以清空本地NPM本地缓存,用于对付使用相同相同版本号发布新版本代码的人
(6)使用npm unpublish <package>@<version>可以撤销发布自己发布过的某个版本
13.NPM常用命令:
()
Node.js之NPM工具使用的更多相关文章
- 关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用
关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用 工作环境:window下 在一切的最开始,安装node.js (中文站,更新比较慢http://nodejs.cn/) ...
- node.js的npm安装
我不打算引进node.js的npm安装,但发现node.js通过管理一些包npm实现,或给一个简短的npm. 1.npm什么 npm是一个node包管理和分发工具,已经成为了非官方的公布 ...
- Node.js 命令行工具的编写
日常开发中,编写 Node.js 命令行工具来完成一些小任务是很常见的操作.其编写也不难,和日常编写 Node.js 代码并无二致. package.json 中的 bin 字段 一个 npm 模块, ...
- angular2.0学习笔记1.开发环境搭建 (node.js和npm的安装)
开发环境, 1.安装Node.js®和npm, node 6.9.x 和 npm 3.x.x 以上的版本. 更老的版本可能会出现错误,更新的版本则没问题. 控制台窗口中运行命令 node -v 和 n ...
- 实用的 Node.js 教程,工具和资源
这里分享一批实用的实用的 Node.js 教程,工具和资源. Node.js是一个建立在Chrome之上的JavaScript运行时平台,可方便地构建快速,可扩展的网络应用程序.Node.js使用事件 ...
- 安装node.js 和 npm 的完整步骤
vue 生命周期 1,beforeCreate 组件刚刚被创建 2,created 组件创建完成 3,beforeMount 挂载之前 4,mounted 挂载之后 5,beforeDestory 组 ...
- Mac升级Node.js和npm到最新版本指令
一.查看本机当前Node.js和npm版本 node -v npm -v 二.清除node.js的cache sudo npm cache clean -f 三.安装"n"版本管理 ...
- 如何在CentOS 7上安装Node.js和npm
Node.js是一个跨平台的JavaScript运行时环境,允许在服务器端执行JavaScript代码.Node.js主要用于后端,但也作为全栈和前端解决方案而流行. npm,Node软件包管理器的缩 ...
- 【强烈推荐,超详细,实操零失误】node.js安装 + npm安装教程 + Vue开发环境搭建
node.js安装 + npm安装教程 + Vue开发环境搭建 [强烈推荐,超详细,实操零失误] 原博客园地址:https://www.cnblogs.com/goldlong/p/8027997.h ...
随机推荐
- String字符串针对常量池的优化
String对象是java语言中重要的数据类型,但是不是基本数据类型.相对于c语言的char java做了一些封装和延伸. 针对常量池的优化:当两个String拥有相同的值时,它们只引用常量池中的同一 ...
- sqlserver事务加锁机制
锁的概述 一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏 ...
- System.Web.HttpRequestValidationException: A potentially dangerous Request.F
ASP.NET .0验证请求 System.Web.HttpRequestValidationException: A potentially dangerous Request.F System.W ...
- JQuery+Ajax+Struts2+Hibernate 实现完整的登录注册
写在最前: 下午有招聘会,不想去,总觉得没有准备好,而且都是一些不对口的公司,可是又静不下心来,就来写个博客. 最近在仿造一个书城的网站:http://www.yousuu.com ,UI直接拿来用, ...
- java实现快速排序
package com.wangjj.quicksort; import java.util.Arrays; /** * 快速排序 * @author Administrator * */ publi ...
- 优先队列实现Huffman编码
首先把所有的字符加入到优先队列,然后每次弹出两个结点,用这两个结点作为左右孩子,构造一个子树,子树的跟结点的权值为左右孩子的权值的和,然后将子树插入到优先队列,重复这个步骤,直到优先队列中只有一个结点 ...
- $_SERVER 详情
$_SERVER['HTTP_ACCEPT_LANGUAGE']//浏览器语言 $_SERVER['REMOTE_ADDR'] //当前用户 IP . $_SERVER['REMOTE_HOST'] ...
- 全排列算法的JS实现
问题描述:给定一个字符串,输出该字符串所有排列的可能.如输入“abc”,输出“abc,acb,bca,bac,cab,cba”. 虽然原理很简单,然而我还是折腾了好一会才实现这个算法……这里主要记录的 ...
- maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令
maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository. ...
- 基于netty轻量的高性能分布式RPC服务框架forest<上篇>
工作几年,用过不不少RPC框架,也算是读过一些RPC源码.之前也撸过几次RPC框架,但是不断的被自己否定,最近终于又撸了一个,希望能够不断迭代出自己喜欢的样子. 顺便也记录一下撸RPC的过程,一来作为 ...