一:简介
NPM的全称是Node Package Manager,是随同NodeJS一起安装的包管理
和分发工具,能够让Javascript开发者下载、安装、上传以及管理已经安装的包。
二:npm
1:npm install
npm install [scope] module_name[@version]
common options:[(-S|--save) | (-D|--save-dev) | (-O|--save-optional)] | [-E | --save-exact] | [--dry-run]
scope:分为全局安装与本地安装,默认为本地安装,-g表示全部安装
本地安装:将模块安装在目录下的node_modules目录下,如果没有,则创建
全局安装:安装在/usr/local或node的安装目录下
module_name:下载插件的名称
version:默认安装最新版本
-S|--save:安装包信息将加入到dependencies(生产阶段依赖)
-D|--save-dev:安装包信息将加入到devDependencies(开发阶段的依赖)
-O|--save-optional:安装包信息将加入到optionalDependencies(可选阶段的依赖)
-E|--save-exact:精确安装指定模块版本
模块依赖
兼容模块发布的补丁版本:~1.1.0、1.1.x、1.1
兼容模块发布的小版本、补丁版本:^1.1.0、1.x、1
兼容模块发布的大版本、小版本、补丁版本:*,x
卸载模块:npm uninstall [<@scope>] module_name [@<version>] [-S|--save|-D|--save-dev|-O|--save-optional]
更新模块:npm update [<@scope>] module_name
检查模块是否已经过时:npm outdated [<@scope>] module_name
查看已安装模块:npm ls [<@scope>]
查看某条命令详细信息:npm help <term> (在默认浏览器中打开命令帮助页面)
查看安装包的安装路径:npm root [<@scope>] module_name(默认为全局路径)
安装淘宝镜像:npm install -g cnpm --registry=http://registry.npm.taobao.org
清除本地缓存:npm cache clean
启动模块:npm start [--<args>] (自定义命令配置一个服务器环境和安装一系列必要程序)
停止模块:npm stop
重新启动模块:npm restart
查看模块依赖关系:npm view module_name dependencies
2:npm init
npm init [-f|--force|-y|--yes]
npm init会引导创建一个package.json文件,项目的安装包信息都将保存到此json文件。
3:npm package.json语法
配置项
name
1. 名称,不要把node或js放在名字中,因为已经被假定为js
2. 名称会作为url的一部分,命令行的参数或者文件夹的名字。任何non-url-safe都是不能不能用的
3. 名字简洁清晰
4. 查看是否已经被占用
version:版本号
description:简介
keywords:关键字、数组、字符串,方便在npm search中搜索
bugs:项目提交问题的url或邮件地址,例子如下
{
"url":"http://github.com/owner/project/issues",
"email":"project@hostname.com"
}
license:许可证(一般为BSD或MIT)
repository:制定代码存放的地方,例如
{
"type" : "git",
"url" : "http://github.com/isaacs/npm.git" (url为能被未经过修改的版本控制程序读取的url,因为它是给计算机读取的)
}
scripts:由脚本命令组成的hash对象,它们在包不同的生命周期中被执行,key为生命周期事件,value为要运行的命令
dependencies:依赖的安装包
devDependencies:开发环境依赖的安装包
author :作者相关信息,可以包括名称、邮箱、url
main:制定程序的主入口文件,require('moduleName')就会加载这个文件。默认值的模块根目录下的index.js